diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | examples/pdf-create.cc | 2 | ||||
-rw-r--r-- | examples/pdf-invert-images.cc | 2 | ||||
-rw-r--r-- | fuzz/qpdf_fuzzer.cc | 2 | ||||
-rw-r--r-- | include/qpdf/QPDFPageObjectHelper.hh | 4 | ||||
-rw-r--r-- | libqpdf/QPDFObjectHandle.cc | 2 | ||||
-rw-r--r-- | libqpdf/QPDFPageObjectHelper.cc | 6 | ||||
-rw-r--r-- | qpdf/qpdf.cc | 9 | ||||
-rw-r--r-- | qpdf/test_driver.cc | 5 |
9 files changed, 24 insertions, 13 deletions
@@ -1,5 +1,10 @@ 2020-12-31 Jay Berkenbilt <ejb@ql.org> + * Rename QPDFPageObjectHelper::getPageImages to + QPDFPageObjectHelper::getImages and make it support form XObjects + as well as pages. The old name will be preserved for + compatibility. + * Add QPDFObjectHandle::isFormXObject to test whether an object is a form XObject. diff --git a/examples/pdf-create.cc b/examples/pdf-create.cc index b27d4e17..44405d38 100644 --- a/examples/pdf-create.cc +++ b/examples/pdf-create.cc @@ -268,7 +268,7 @@ static void check(char const* filename, page_iter != pages.end(); ++page_iter) { QPDFPageObjectHelper& page(*page_iter); - std::map<std::string, QPDFObjectHandle> images = page.getPageImages(); + std::map<std::string, QPDFObjectHandle> images = page.getImages(); if (images.size() != 1) { throw std::logic_error("incorrect number of images on page"); diff --git a/examples/pdf-invert-images.cc b/examples/pdf-invert-images.cc index 3a0afca4..72a15f2c 100644 --- a/examples/pdf-invert-images.cc +++ b/examples/pdf-invert-images.cc @@ -159,7 +159,7 @@ int main(int argc, char* argv[]) QPDFPageObjectHelper& page(*iter); // Get all images on the page. std::map<std::string, QPDFObjectHandle> images = - page.getPageImages(); + page.getImages(); for (auto& iter2: images) { QPDFObjectHandle& image = iter2.second; diff --git a/fuzz/qpdf_fuzzer.cc b/fuzz/qpdf_fuzzer.cc index eb6791a4..195cf5bb 100644 --- a/fuzz/qpdf_fuzzer.cc +++ b/fuzz/qpdf_fuzzer.cc @@ -143,7 +143,7 @@ FuzzHelper::testPages() { page.coalesceContentStreams(); page.parsePageContents(&discard_contents); - page.getPageImages(); + page.getImages(); pldh.getLabelForPage(pageno); QPDFObjectHandle page_obj(page.getObjectHandle()); page_obj.getJSON(true).unparse(); diff --git a/include/qpdf/QPDFPageObjectHelper.hh b/include/qpdf/QPDFPageObjectHelper.hh index e6f9f76d..5b63a70d 100644 --- a/include/qpdf/QPDFPageObjectHelper.hh +++ b/include/qpdf/QPDFPageObjectHelper.hh @@ -78,6 +78,10 @@ class QPDFPageObjectHelper: public QPDFObjectHelper // name to the image object, which is always a stream. Works with // form XObjects as well as pages. QPDF_DLL + std::map<std::string, QPDFObjectHandle> getImages(); + + // Old name -- calls getImages() + QPDF_DLL std::map<std::string, QPDFObjectHandle> getPageImages(); // Convert each inline image to an external (normal) image if the diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc index d5d199d9..180ccfa3 100644 --- a/libqpdf/QPDFObjectHandle.cc +++ b/libqpdf/QPDFObjectHandle.cc @@ -1320,7 +1320,7 @@ QPDFObjectHandle::getGeneration() const std::map<std::string, QPDFObjectHandle> QPDFObjectHandle::getPageImages() { - return QPDFPageObjectHelper(*this).getPageImages(); + return QPDFPageObjectHelper(*this).getImages(); } std::vector<QPDFObjectHandle> diff --git a/libqpdf/QPDFPageObjectHelper.cc b/libqpdf/QPDFPageObjectHelper.cc index 0e9792a6..c26744ac 100644 --- a/libqpdf/QPDFPageObjectHelper.cc +++ b/libqpdf/QPDFPageObjectHelper.cc @@ -389,6 +389,12 @@ QPDFPageObjectHelper::getMediaBox(bool copy_if_shared) std::map<std::string, QPDFObjectHandle> QPDFPageObjectHelper::getPageImages() { + return getImages(); +} + +std::map<std::string, QPDFObjectHandle> +QPDFPageObjectHelper::getImages() +{ std::map<std::string, QPDFObjectHandle> result; QPDFObjectHandle resources = getAttribute("/Resources", false); if (resources.isDictionary()) diff --git a/qpdf/qpdf.cc b/qpdf/qpdf.cc index 19d7b0c4..70a5746a 100644 --- a/qpdf/qpdf.cc +++ b/qpdf/qpdf.cc @@ -3639,8 +3639,7 @@ static void do_show_pages(QPDF& pdf, Options& o) << page.getGeneration() << " R" << std::endl; if (o.show_page_images) { - std::map<std::string, QPDFObjectHandle> images = - ph.getPageImages(); + std::map<std::string, QPDFObjectHandle> images = ph.getImages(); if (! images.empty()) { std::cout << " images:" << std::endl; @@ -3765,8 +3764,7 @@ static void do_json_pages(QPDF& pdf, Options& o, JSON& j) j_page.addDictionaryMember("object", page.getJSON()); JSON j_images = j_page.addDictionaryMember( "images", JSON::makeArray()); - std::map<std::string, QPDFObjectHandle> images = - ph.getPageImages(); + std::map<std::string, QPDFObjectHandle> images = ph.getImages(); for (auto const& iter2: images) { JSON j_image = j_images.addArrayElement(JSON::makeDictionary()); @@ -4785,8 +4783,7 @@ static void handle_transformations(QPDF& pdf, Options& o) ++pageno; QPDFPageObjectHelper& ph(*iter); QPDFObjectHandle page = ph.getObjectHandle(); - std::map<std::string, QPDFObjectHandle> images = - ph.getPageImages(); + std::map<std::string, QPDFObjectHandle> images = ph.getImages(); for (auto& iter2: images) { std::string name = iter2.first; diff --git a/qpdf/test_driver.cc b/qpdf/test_driver.cc index b373e5bc..d8b40a0f 100644 --- a/qpdf/test_driver.cc +++ b/qpdf/test_driver.cc @@ -516,8 +516,7 @@ void runtest(int n, char const* filename1, char const* arg2) std::cout << "page " << pageno << ":" << std::endl; std::cout << " images:" << std::endl; - std::map<std::string, QPDFObjectHandle> images = - page.getPageImages(); + std::map<std::string, QPDFObjectHandle> images = page.getImages(); for (auto const& iter2: images) { std::string const& name = iter2.first; @@ -1488,7 +1487,7 @@ void runtest(int n, char const* filename1, char const* arg2) { std::cout << "page " << ++pageno << std::endl; std::map<std::string, QPDFObjectHandle> images = - (*p_iter).getPageImages(); + (*p_iter).getImages(); for (std::map<std::string, QPDFObjectHandle>::iterator i_iter = images.begin(); i_iter != images.end(); ++i_iter) { |