diff --git a/libqpdf/QPDFJob.cc b/libqpdf/QPDFJob.cc index e95d08ad..c23b950b 100644 --- a/libqpdf/QPDFJob.cc +++ b/libqpdf/QPDFJob.cc @@ -2743,13 +2743,7 @@ QPDFJob::shouldRemoveUnreferencedResources(QPDF& pdf) for (auto const& k: xobject.getKeys()) { QPDFObjectHandle xobj = xobject.getKey(k); - if (xobj.isStream() && - xobj.getDict().getKey("/Type").isName() && - ("/XObject" == - xobj.getDict().getKey("/Type").getName()) && - xobj.getDict().getKey("/Subtype").isName() && - ("/Form" == - xobj.getDict().getKey("/Subtype").getName())) + if (xobj.isFormXObject()) { queue.push_back(xobj); } diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc index c2917157..745de6c9 100644 --- a/libqpdf/QPDFObjectHandle.cc +++ b/libqpdf/QPDFObjectHandle.cc @@ -3406,7 +3406,7 @@ QPDFObjectHandle::isPagesObject() bool QPDFObjectHandle::isFormXObject() { - return isStreamOfType("/XObject", "/Form"); + return isStreamOfType("", "/Form"); } bool