Remove dead code from qpdf merge + PyPDF2 metadata patching

I tried "qpdf merge + PyPDF2 metadata patching" first. The problem is
that PyPDF2 produces a 1.3 by default and generally I have less
confidence it.

New approach is to stuff the Document Info metadata in the first page
with PyPdf2, cross fingers and use qpdf to merge. It's not quite as
clean and might harm the first page, but it's better than shipping
files produced by PyPDF2.
This commit is contained in:
James R. Barlow
2016-08-03 01:28:27 -07:00
parent 12575d594a
commit d32ea8d0dd
-31
View File
@@ -1179,37 +1179,6 @@ def merge_pages_qpdf(
qpdf.merge(pdf_pages, output_file)
#@active_if(options.output_type == 'pdf')
@active_if(False)
@merge(
input=[merge_pages_qpdf, repair_pdf],
output=os.path.join(work_folder, 'merged.pdf'),
extras=[_log, _pdfinfo, _pdfinfo_lock])
def copy_metadata(
input_files,
output_file,
log,
pdfinfo,
pdfinfo_lock):
merged_file = next(
(ii for ii in input_files if ii.endswith('merged_nometadata.pdf')))
metadata_file = next(
(ii for ii in input_files if ii.endswith('.repaired.pdf')))
metadata_pdf = pypdf.PdfFileReader(metadata_file)
pdfmark = get_pdfmark(metadata_pdf)
pdfmark['/Producer'] = 'PyPDF2 ' + pypdf.__version__
merged_pdf = pypdf.PdfFileReader(merged_file)
output_pdf = pypdf.PdfFileWriter()
output_pdf.appendPagesFromReader(merged_pdf)
output_pdf.addMetadata(pdfmark)
with open(output_file, 'wb') as f:
output_pdf.write(f)
@merge(
input=[merge_pages_ghostscript, merge_pages_qpdf],
output=options.output_file,