diff --git a/src/ocrmypdf/pdfa.py b/src/ocrmypdf/pdfa.py index 67a02d87..405a4d4a 100644 --- a/src/ocrmypdf/pdfa.py +++ b/src/ocrmypdf/pdfa.py @@ -143,6 +143,7 @@ def decode_pdf_date(s: str) -> datetime: if s.startswith('D:'): s = s[2:] + s = s.replace("'", "") # Remove apos from PDF time strings for fmt in pdfmark_date_fmts: try: return datetime.strptime(s, fmt) diff --git a/tests/test_metadata.py b/tests/test_metadata.py index ebcb78d1..4c6b4f94 100644 --- a/tests/test_metadata.py +++ b/tests/test_metadata.py @@ -19,6 +19,7 @@ import pytest import PyPDF2 as pypdf import datetime +from datetime import timezone from ocrmypdf.pdfa import file_claims_pdfa, encode_pdf_date, decode_pdf_date from ocrmypdf.exceptions import ExitCode @@ -150,6 +151,6 @@ def test_creation_date_preserved(spoof_tesseract_noop, output_type, resources, # We expect that the modified date is quite recent date_after = decode_pdf_date(after['/ModDate']) assert seconds_between_dates( - date_after, datetime.datetime.utcnow()) < 1000 + date_after, datetime.datetime.now(timezone.utc)) < 1000