From 743a735ee008a4bd70cfac97634f350d9a2d46f1 Mon Sep 17 00:00:00 2001 From: m-holger Date: Mon, 26 Sep 2022 20:11:27 +0100 Subject: [PATCH] Use QPDF::newStream in library --- libqpdf/QPDF.cc | 2 +- libqpdf/QPDFEFStreamObjectHelper.cc | 7 ++++--- libqpdf/QPDFJob.cc | 12 ++++-------- libqpdf/QPDFPageDocumentHelper.cc | 5 ++--- libqpdf/QPDFPageObjectHelper.cc | 11 +++++------ libqpdf/qpdf-c.cc | 2 +- 6 files changed, 17 insertions(+), 22 deletions(-) diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index fde819a5..7b30b90c 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -2224,7 +2224,7 @@ QPDF::reserveObjects(QPDFObjectHandle foreign, ObjCopier& obj_copier, bool top) obj_copier.to_copy.push_back(foreign); QPDFObjectHandle reservation; if (foreign.isStream()) { - reservation = QPDFObjectHandle::newStream(this); + reservation = newStream(); } else { reservation = QPDFObjectHandle::newReserved(this); } diff --git a/libqpdf/QPDFEFStreamObjectHelper.cc b/libqpdf/QPDFEFStreamObjectHelper.cc index 8380206d..28e2cef0 100644 --- a/libqpdf/QPDFEFStreamObjectHelper.cc +++ b/libqpdf/QPDFEFStreamObjectHelper.cc @@ -4,6 +4,7 @@ #include #include #include +#include #include QPDFEFStreamObjectHelper::QPDFEFStreamObjectHelper(QPDFObjectHandle oh) : @@ -91,20 +92,20 @@ QPDFEFStreamObjectHelper QPDFEFStreamObjectHelper::createEFStream( QPDF& qpdf, std::shared_ptr data) { - return newFromStream(QPDFObjectHandle::newStream(&qpdf, data)); + return newFromStream(qpdf.newStream(data)); } QPDFEFStreamObjectHelper QPDFEFStreamObjectHelper::createEFStream(QPDF& qpdf, std::string const& data) { - return newFromStream(QPDFObjectHandle::newStream(&qpdf, data)); + return newFromStream(qpdf.newStream(data)); } QPDFEFStreamObjectHelper QPDFEFStreamObjectHelper::createEFStream( QPDF& qpdf, std::function provider) { - auto stream = QPDFObjectHandle::newStream(&qpdf); + auto stream = qpdf.newStream(); stream.replaceStreamData( provider, QPDFObjectHandle::newNull(), QPDFObjectHandle::newNull()); return newFromStream(stream); diff --git a/libqpdf/QPDFJob.cc b/libqpdf/QPDFJob.cc index e34cfc53..01e4a22a 100644 --- a/libqpdf/QPDFJob.cc +++ b/libqpdf/QPDFJob.cc @@ -2242,13 +2242,10 @@ QPDFJob::doUnderOverlayForPage( } if (!content.empty()) { if (before) { - dest_page.addPageContents( - QPDFObjectHandle::newStream(&pdf, content), true); + dest_page.addPageContents(pdf.newStream(content), true); } else { - dest_page.addPageContents( - QPDFObjectHandle::newStream(&pdf, "q\n"), true); - dest_page.addPageContents( - QPDFObjectHandle::newStream(&pdf, "\nQ\n" + content), false); + dest_page.addPageContents(pdf.newStream("q\n"), true); + dest_page.addPageContents(pdf.newStream("\nQ\n" + content), false); } } } @@ -2473,8 +2470,7 @@ QPDFJob::handleTransformations(QPDF& pdf) if (io->evaluate( "image " + name + " on page " + std::to_string(pageno))) { - QPDFObjectHandle new_image = - QPDFObjectHandle::newStream(&pdf); + QPDFObjectHandle new_image = pdf.newStream(); new_image.replaceDict(image.getDict().shallowCopy()); new_image.replaceStreamData( sdp, diff --git a/libqpdf/QPDFPageDocumentHelper.cc b/libqpdf/QPDFPageDocumentHelper.cc index 021b4369..39b2800a 100644 --- a/libqpdf/QPDFPageDocumentHelper.cc +++ b/libqpdf/QPDFPageDocumentHelper.cc @@ -163,8 +163,7 @@ QPDFPageDocumentHelper::flattenAnnotationsForPage( page_oh.replaceKey("/Annots", new_annots_oh); } } - page.addPageContents(QPDFObjectHandle::newStream(&qpdf, "q\n"), true); - page.addPageContents( - QPDFObjectHandle::newStream(&qpdf, "\nQ\n" + new_content), false); + page.addPageContents(qpdf.newStream("q\n"), true); + page.addPageContents(qpdf.newStream("\nQ\n" + new_content), false); } } diff --git a/libqpdf/QPDFPageObjectHelper.cc b/libqpdf/QPDFPageObjectHelper.cc index 7da09cf5..761a16f4 100644 --- a/libqpdf/QPDFPageObjectHelper.cc +++ b/libqpdf/QPDFPageObjectHelper.cc @@ -785,10 +785,10 @@ QPDFPageObjectHelper::getMatrixForTransformations(bool invert) QPDFObjectHandle QPDFPageObjectHelper::getFormXObjectForPage(bool handle_transformations) { - QPDF& qpdf = this->oh.getQPDF( - "QPDFPageObjectHelper::getFormXObjectForPage called with a direct " - "object"); - QPDFObjectHandle result = QPDFObjectHandle::newStream(&qpdf); + auto result = this->oh + .getQPDF("QPDFPageObjectHelper::getFormXObjectForPage " + "called with a direct object") + .newStream(); QPDFObjectHandle newdict = result.getDict(); newdict.replaceKey("/Type", QPDFObjectHandle::newName("/XObject")); newdict.replaceKey("/Subtype", QPDFObjectHandle::newName("/Form")); @@ -1062,8 +1062,7 @@ QPDFPageObjectHelper::flattenRotation(QPDFAcroFormDocumentHelper* afdh) } std::string cm_str = std::string("q\n") + cm.unparse() + " cm\n"; this->oh.addPageContents(QPDFObjectHandle::newStream(&qpdf, cm_str), true); - this->oh.addPageContents( - QPDFObjectHandle::newStream(&qpdf, "\nQ\n"), false); + this->oh.addPageContents(qpdf.newStream("\nQ\n"), false); this->oh.removeKey("/Rotate"); QPDFObjectHandle rotate_obj = getAttribute("/Rotate", false); if (!rotate_obj.isNull()) { diff --git a/libqpdf/qpdf-c.cc b/libqpdf/qpdf-c.cc index e819e3ff..cb104c73 100644 --- a/libqpdf/qpdf-c.cc +++ b/libqpdf/qpdf-c.cc @@ -1696,7 +1696,7 @@ qpdf_oh qpdf_oh_new_stream(qpdf_data qpdf) { QTC::TC("qpdf", "qpdf-c called qpdf_oh_new_stream"); - return new_object(qpdf, QPDFObjectHandle::newStream(qpdf->qpdf.get())); + return new_object(qpdf, qpdf->qpdf->newStream()); } void