summaryrefslogtreecommitdiffstats
path: root/qpdf/qpdf.cc
diff options
context:
space:
mode:
Diffstat (limited to 'qpdf/qpdf.cc')
-rw-r--r--qpdf/qpdf.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/qpdf/qpdf.cc b/qpdf/qpdf.cc
index c5b0fd8e..1986cd0e 100644
--- a/qpdf/qpdf.cc
+++ b/qpdf/qpdf.cc
@@ -2087,6 +2087,14 @@ static void handle_page_specs(QPDF& pdf, Options& o,
page_spec.range));
}
+ for (std::map<std::string, QPDF*>::iterator iter = page_spec_qpdfs.begin();
+ iter != page_spec_qpdfs.end(); ++iter)
+ {
+ QPDFPageDocumentHelper dh(*((*iter).second));
+ dh.pushInheritedAttributesToPage();
+ dh.removeUnreferencedResources();
+ }
+
// Clear all pages out of the primary QPDF's pages tree but leave
// the objects in place in the file so they can be re-added
// without changing their object numbers. This enables other
@@ -2358,6 +2366,9 @@ static void write_outfile(QPDF& pdf, Options& o)
before = std::string(o.outfilename) + "-";
}
+ QPDFPageDocumentHelper dh(pdf);
+ dh.pushInheritedAttributesToPage();
+ dh.removeUnreferencedResources();
std::vector<QPDFObjectHandle> const& pages = pdf.getAllPages();
int pageno_len = QUtil::int_to_string(pages.size()).length();
unsigned int num_pages = pages.size();