diff options
author | Jay Berkenbilt <ejb@ql.org> | 2019-01-25 12:55:31 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2019-01-26 04:30:05 +0100 |
commit | 009767d97a0dfebbb9bb71efb4b894b25fb59dd8 (patch) | |
tree | 6c10e6a67ecee41f511d06e88626f10bb737106a /qpdf/qpdf.cc | |
parent | 2d32f4db8fd125f2481ecf767d9f6506e80481f6 (diff) | |
download | qpdf-009767d97a0dfebbb9bb71efb4b894b25fb59dd8.tar.zst |
Handle inheritable page attributes
Add getAttribute for handling inheritable page attributes, and fix
getPageImages and annotation flattening code to use it.
Diffstat (limited to 'qpdf/qpdf.cc')
-rw-r--r-- | qpdf/qpdf.cc | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/qpdf/qpdf.cc b/qpdf/qpdf.cc index 363b00ff..e3529550 100644 --- a/qpdf/qpdf.cc +++ b/qpdf/qpdf.cc @@ -3070,10 +3070,6 @@ static void do_show_obj(QPDF& pdf, Options& o, int& exit_code) static void do_show_pages(QPDF& pdf, Options& o) { QPDFPageDocumentHelper dh(pdf); - if (o.show_page_images) - { - dh.pushInheritedAttributesToPage(); - } std::vector<QPDFPageObjectHelper> pages = dh.getAllPages(); int pageno = 0; for (std::vector<QPDFPageObjectHelper>::iterator iter = pages.begin(); @@ -3862,7 +3858,6 @@ static void handle_transformations(QPDF& pdf, Options& o) QPDFPageDocumentHelper dh(pdf); if (o.optimize_images) { - dh.pushInheritedAttributesToPage(); int pageno = 0; std::vector<QPDFPageObjectHelper> pages = dh.getAllPages(); for (std::vector<QPDFPageObjectHelper>::iterator iter = pages.begin(); @@ -3891,8 +3886,9 @@ static void handle_transformations(QPDF& pdf, Options& o) sdp, QPDFObjectHandle::newName("/DCTDecode"), QPDFObjectHandle::newNull()); - page.getKey("/Resources").getKey("/XObject").replaceKey( - name, new_image); + ph.getAttribute("/Resources", true). + getKey("/XObject").replaceKey( + name, new_image); } } } @@ -4054,7 +4050,6 @@ static void handle_page_specs(QPDF& pdf, Options& o) cis->stayOpen(true); } QPDFPageDocumentHelper dh(*((*iter).second)); - dh.pushInheritedAttributesToPage(); dh.removeUnreferencedResources(); if (cis) { @@ -4532,7 +4527,6 @@ static void write_outfile(QPDF& pdf, Options& o) if (! o.preserve_unreferenced_page_resources) { QPDFPageDocumentHelper dh(pdf); - dh.pushInheritedAttributesToPage(); dh.removeUnreferencedResources(); } QPDFPageLabelDocumentHelper pldh(pdf); |