aboutsummaryrefslogtreecommitdiffstats
path: root/qpdf/qpdf.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2019-01-25 12:55:31 +0100
committerJay Berkenbilt <ejb@ql.org>2019-01-26 04:30:05 +0100
commit009767d97a0dfebbb9bb71efb4b894b25fb59dd8 (patch)
tree6c10e6a67ecee41f511d06e88626f10bb737106a /qpdf/qpdf.cc
parent2d32f4db8fd125f2481ecf767d9f6506e80481f6 (diff)
downloadqpdf-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.cc12
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);