From a139d2b36da39fbfb018ef6973e9316a64a4ca6c Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Fri, 1 Jan 2021 07:31:54 -0500 Subject: Add several methods for working with form XObjects (fixes #436) Make some more methods in QPDFPageObjectHelper work with form XObjects, provide forEach methods to walk through nested form XObjects, possibly recursively. This should make it easier to work with form XObjects from user code. --- libqpdf/QPDFObjectHandle.cc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'libqpdf/QPDFObjectHandle.cc') diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc index 180ccfa3..add0b14d 100644 --- a/libqpdf/QPDFObjectHandle.cc +++ b/libqpdf/QPDFObjectHandle.cc @@ -2948,6 +2948,21 @@ QPDFObjectHandle::isFormXObject() ("/Form" == dict.getKey("/Subtype").getName())); } +bool +QPDFObjectHandle::isImage(bool exclude_imagemask) +{ + if (! this->isStream()) + { + return false; + } + QPDFObjectHandle dict = this->getDict(); + return (dict.hasKey("/Subtype") && + (dict.getKey("/Subtype").getName() == "/Image") && + ((! exclude_imagemask) || + (! (dict.getKey("/ImageMask").isBool() && + dict.getKey("/ImageMask").getBoolValue())))); +} + void QPDFObjectHandle::assertPageObject() { -- cgit v1.2.3-54-g00ecf