From f34b3015b28d50d7b9f9c7f6fbb2d1f0e1fc1ad8 Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Fri, 4 Jan 2019 13:20:41 -0800 Subject: [PATCH] Prevent Ghostscript from generating invalid XMP metadata If DocumentInfo contains NULs Ghostscript will generate XMP with NULs which is not allowed. Repair DocumentInfo before Ghostscript sees it. --- debian/copyright | 6 ++++++ requirements/main.txt | 2 +- setup.py | 2 +- src/ocrmypdf/_pipeline.py | 17 +++++++++++++++ tests/resources/README.rst | 3 +++ tests/resources/enron1.pdf | Bin 0 -> 86377 bytes tests/test_metadata.py | 43 +++++++++++++++++++++++++++++++++++++ 7 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 tests/resources/enron1.pdf diff --git a/debian/copyright b/debian/copyright index 5b4216f1..77f4afa5 100644 --- a/debian/copyright +++ b/debian/copyright @@ -95,6 +95,12 @@ Files: tests/resources/vector.pdf Copyright: (C) 2018 Catscratch License: Expat +Files: test/resources/enron1.pdf +Copyright: EnronData.org +License: CC-BY-3.0 + See: https://enrondata.readthedocs.io/en/latest/data/edo-enron-email-pst-dataset/ +Comment: Unprocessed. + Files: src/ocrmypdf/data/sRGB.icc Copyright: Kai-Uwe Behrmann Marti Maria diff --git a/requirements/main.txt b/requirements/main.txt index 4064857e..39c59fb5 100644 --- a/requirements/main.txt +++ b/requirements/main.txt @@ -5,7 +5,7 @@ chardet == 3.0.4 cffi == 1.11.5 img2pdf == 0.3.1 pdfminer.six == 20181108 -pikepdf == 0.10.2 +pikepdf == 1.0.1 Pillow >= 5.0.0, != 5.1.0 ; sys_platform == "darwin" pycparser == 2.19 python-xmp-toolkit == 2.0.1 diff --git a/setup.py b/setup.py index a7cdf97c..cd803e86 100644 --- a/setup.py +++ b/setup.py @@ -251,7 +251,7 @@ setup( 'cffi >= 1.9.1', # must be a setup and install requirement 'img2pdf >= 0.3.0, < 0.4', # pure Python, so track HEAD closely 'pdfminer.six == 20181108 ; sys_platform != "darwin"', - 'pikepdf >= 0.10.2, < 0.11.0', + 'pikepdf >= 1.0.1, < 2', 'Pillow >= 4.0.0, != 5.1.0 ; sys_platform == "darwin"', # Pillow < 4 has BytesIO/TIFF bug w/img2pdf 0.2.3 # block 5.1.0, broken wheels diff --git a/src/ocrmypdf/_pipeline.py b/src/ocrmypdf/_pipeline.py index 16b0e279..4fe52970 100644 --- a/src/ocrmypdf/_pipeline.py +++ b/src/ocrmypdf/_pipeline.py @@ -810,6 +810,23 @@ def convert_to_pdfa(input_files_groups, output_file, log, context): layers_file = next( (ii for ii in input_files if ii.endswith('layers.rendered.pdf')), None ) + + # If the DocumentInfo record contains NUL characters, Ghostscript will + # produce XMP metadata which contains invalid XML entities (�). + # NULs in DocumentInfo seem to be common since older Acrobats included them. + # pikepdf can deal with this, but we make the world a better place by + # stamping them out as soon as possible. + pdf_layers_file = pikepdf.open(layers_file) + if pdf_layers_file.docinfo: + modified = False + for k, v in pdf_layers_file.docinfo.items(): + if b'\x00' in bytes(v): + pdf_layers_file.docinfo[k] = bytes(v).replace(b'\x00', b'') + modified = True + if modified: + pdf_layers_file.save(layers_file) + del pdf_layers_file + ps = next((ii for ii in input_files if ii.endswith('.ps')), None) ghostscript.generate_pdfa( pdf_version=input_pdfinfo.min_version, diff --git a/tests/resources/README.rst b/tests/resources/README.rst index 81dd4b0f..5fb4e9db 100644 --- a/tests/resources/README.rst +++ b/tests/resources/README.rst @@ -37,6 +37,9 @@ In some cases they were converted from one image format to another without other * - baiona.png - `Wikimedia: Baionako udalerri mugakideak`_ - Creative Commons BY-SA 4.0 + * - enron1.pdf + - EnronData.org + - Creative Commons BY 3.0 Files generated for this project diff --git a/tests/resources/enron1.pdf b/tests/resources/enron1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..65aa7fb60435ad25bca409c5854d9d9e006935ed GIT binary patch literal 86377 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

  • L!s| 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 lg=w0(IWTwTSyZ|)lnp*$> literal 0 HcmV?d00001 diff --git a/tests/test_metadata.py b/tests/test_metadata.py index 201ae8bb..26ed3d21 100644 --- a/tests/test_metadata.py +++ b/tests/test_metadata.py @@ -18,6 +18,8 @@ import datetime from datetime import timezone +import logging +import mmap from os import fspath from pathlib import Path from shutil import copyfile @@ -26,6 +28,7 @@ from unittest.mock import MagicMock, patch import pytest import pikepdf +from ocrmypdf._jobcontext import JobContext from ocrmypdf.exceptions import ExitCode from ocrmypdf.pdfa import SRGB_ICC_PROFILE, file_claims_pdfa, generate_pdfa_ps from pikepdf.models.metadata import decode_pdf_date @@ -319,3 +322,43 @@ def test_metadata_fixup_warning(resources, outdir): context=context, ) log.warning.assert_called_once() + + +def test_prevent_gs_invalid_xml(resources, outdir): + from ocrmypdf.__main__ import parser + from ocrmypdf._pipeline import convert_to_pdfa + from ocrmypdf.pdfa import generate_pdfa_ps + from ocrmypdf.pdfinfo import PdfInfo + + generate_pdfa_ps(outdir / 'pdfa.ps') + input_files = [ + str(outdir / 'layers.rendered.pdf'), + str(outdir / 'pdfa.ps'), + ] + copyfile(resources / 'enron1.pdf', outdir / 'layers.rendered.pdf') + log = logging.getLogger() + context = JobContext() + + options = parser.parse_args(args=[ + '-j', '1', '--output-type', 'pdfa-2', 'a.pdf', 'b.pdf'] + ) + context.options = options + context.pdfinfo = PdfInfo(resources / 'enron1.pdf') + + convert_to_pdfa( + input_files_groups=input_files, + output_file=outdir / 'pdfa.pdf', + log=log, + context=context + ) + + with open(outdir / 'pdfa.pdf', 'rb') as f: + with mmap.mmap(f.fileno(), 0, flags=mmap.MAP_PRIVATE, prot=mmap.PROT_READ) as mm: + # Since the XML may be invalid, we scan instead of actually feeding it + # to a parser. + XMP_MAGIC = b'W5M0MpCehiHzreSzNTczkc9d' + xmp_start = mm.find(XMP_MAGIC) + xmp_end = mm.rfind(b'