# -*- 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 " \ % 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))