mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-09 18:31:04 +00:00
7b53735bb3
As discussed on the list, but I did not need to create two new pdf formats since any given document either uses TeX fonts or not. For the same reason I also added an additional converter to PDF (cropped).
52 lines
1.4 KiB
Python
52 lines
1.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
# file convert_pdf.py
|
|
# This file is part of LyX, the document processor.
|
|
# Licence details can be found in the file COPYING.
|
|
|
|
# author Georg Baum
|
|
# Full author contact details are available in file CREDITS
|
|
|
|
# This script takes a PS or PDF file and creates a low resolution version.
|
|
# Example usage:
|
|
# convert_pdf.py big.pdf small.pdf ebook
|
|
|
|
# This script takes three arguments:
|
|
# INFILE: the name of the .ps or .pdf file to be converted.
|
|
# OUTFILE: the name of the .pdf file to be created.
|
|
# PDFSETTINGS: any PDFSETTINGS supported by ghostscript:
|
|
|
|
|
|
import sys
|
|
|
|
from lyxpreview_tools import error, find_exe_or_terminate, run_command
|
|
|
|
|
|
def usage(prog_name):
|
|
return "Usage: %s <ps or pdf input file> <pdf output file> <screen|ebook|printer|prepress>" \
|
|
% prog_name
|
|
|
|
|
|
def main(argv):
|
|
|
|
if len(argv) == 4:
|
|
source = argv[1]
|
|
output = argv[2]
|
|
pdfsettings = argv[3]
|
|
else:
|
|
error(usage(argv[0]))
|
|
|
|
gs = find_exe_or_terminate(["gswin32c", "gswin64c", "gs"])
|
|
gs_call = '%s -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite ' \
|
|
'-dCompatibilityLevel=1.4 -dPDFSETTINGS=/%s ' \
|
|
'-sOutputFile="%s" "%s"' % (gs, pdfsettings, output, source)
|
|
|
|
gs_status, gs_stdout = run_command(gs_call)
|
|
if gs_stdout:
|
|
sys.stdout.write(gs_stdout)
|
|
return gs_status
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main(sys.argv))
|