Commit 1562d34c096424b4916be09e8dcd2f0f3effb17f
1 parent
c97bd632
Add QPDFObjectHandle::isFormXObject
Showing
4 changed files
with
23 additions
and
5 deletions
ChangeLog
include/qpdf/QPDFObjectHandle.hh
libqpdf/QPDFObjectHandle.cc
| ... | ... | @@ -2962,6 +2962,20 @@ QPDFObjectHandle::isPagesObject() |
| 2962 | 2962 | return (this->isDictionary() && this->hasKey("/Kids")); |
| 2963 | 2963 | } |
| 2964 | 2964 | |
| 2965 | +bool | |
| 2966 | +QPDFObjectHandle::isFormXObject() | |
| 2967 | +{ | |
| 2968 | + if (! this->isStream()) | |
| 2969 | + { | |
| 2970 | + return false; | |
| 2971 | + } | |
| 2972 | + QPDFObjectHandle dict = this->getDict(); | |
| 2973 | + return (dict.getKey("/Type").isName() && | |
| 2974 | + ("/XObject" == dict.getKey("/Type").getName()) && | |
| 2975 | + dict.getKey("/Subtype").isName() && | |
| 2976 | + ("/Form" == dict.getKey("/Subtype").getName())); | |
| 2977 | +} | |
| 2978 | + | |
| 2965 | 2979 | void |
| 2966 | 2980 | QPDFObjectHandle::assertPageObject() |
| 2967 | 2981 | { | ... | ... |
libqpdf/QPDFPageObjectHelper.cc
| ... | ... | @@ -565,11 +565,7 @@ QPDFPageObjectHelper::removeUnreferencedResourcesHelper( |
| 565 | 565 | dict.removeKey(*k_iter); |
| 566 | 566 | } |
| 567 | 567 | QPDFObjectHandle resource = dict.getKey(*k_iter); |
| 568 | - if (resource.isStream() && | |
| 569 | - resource.getDict().getKey("/Type").isName() && | |
| 570 | - ("/XObject" == resource.getDict().getKey("/Type").getName()) && | |
| 571 | - resource.getDict().getKey("/Subtype").isName() && | |
| 572 | - ("/Form" == resource.getDict().getKey("/Subtype").getName())) | |
| 568 | + if (resource.isFormXObject()) | |
| 573 | 569 | { |
| 574 | 570 | QTC::TC("qpdf", "QPDFPageObjectHelper filter form xobject"); |
| 575 | 571 | removeUnreferencedResourcesHelper( | ... | ... |