From 12af16edd85ba6787b7369b1e32918f6f2e89414 Mon Sep 17 00:00:00 2001 From: Douglas Kosovic Date: Tue, 7 Oct 2025 17:04:14 +0300 Subject: [PATCH] pdftopdf qpdf: Silence QPDF warnings Silence QPDF warnings for PDFs especially those generated by macOS (Quartz) as they are re-interpreted by macOS CUPS clients as errors: - file is damaged - (object XX 0): object has offset 0 - (object XX 0): expected XX 0 obj - object XX 0 not found in file after regenerating cross reference table - Attempting to reconstruct cross-reference table see: https://github.com/OpenPrinting/cups/issues/321 --- filter/pdftopdf/qpdf_pdftopdf_processor.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/filter/pdftopdf/qpdf_pdftopdf_processor.cc b/filter/pdftopdf/qpdf_pdftopdf_processor.cc index 2420e1f47..beffc2423 100644 --- a/filter/pdftopdf/qpdf_pdftopdf_processor.cc +++ b/filter/pdftopdf/qpdf_pdftopdf_processor.cc @@ -491,6 +491,7 @@ bool QPDF_PDFTOPDF_Processor::loadFile(FILE *f,ArgOwnership take,int flatten_for case WillStayAlive: try { pdf->processFile("temp file",f,false); + pdf->setSuppressWarnings(true); } catch (const std::exception &e) { error("loadFile failed: %s",e.what()); return false; @@ -499,6 +500,7 @@ bool QPDF_PDFTOPDF_Processor::loadFile(FILE *f,ArgOwnership take,int flatten_for case TakeOwnership: try { pdf->processFile("temp file",f,true); + pdf->setSuppressWarnings(true); } catch (const std::exception &e) { error("loadFile failed: %s",e.what()); return false; @@ -519,6 +521,7 @@ bool QPDF_PDFTOPDF_Processor::loadFilename(const char *name,int flatten_forms) / try { pdf.reset(new QPDF); pdf->processFile(name); + pdf->setSuppressWarnings(true); } catch (const std::exception &e) { error("loadFilename failed: %s",e.what()); return false;