mirror of
https://github.com/qpdf/qpdf.git
synced 2024-05-29 08:20:53 +00:00
Add QPDFObjectHandle::isFormXObject
This commit is contained in:
parent
c97bd6323e
commit
1562d34c09
|
@ -1,3 +1,8 @@
|
||||||
|
2020-12-31 Jay Berkenbilt <ejb@ql.org>
|
||||||
|
|
||||||
|
* Add QPDFObjectHandle::isFormXObject to test whether an object is
|
||||||
|
a form XObject.
|
||||||
|
|
||||||
2020-12-30 Jay Berkenbilt <ejb@ql.org>
|
2020-12-30 Jay Berkenbilt <ejb@ql.org>
|
||||||
|
|
||||||
* Add QPDFPageObjectHelper::flattenRotation and --flatten-rotation
|
* Add QPDFPageObjectHelper::flattenRotation and --flatten-rotation
|
||||||
|
|
|
@ -1147,6 +1147,9 @@ class QPDFObjectHandle
|
||||||
QPDF_DLL
|
QPDF_DLL
|
||||||
void assertPageObject();
|
void assertPageObject();
|
||||||
|
|
||||||
|
QPDF_DLL
|
||||||
|
bool isFormXObject();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QPDFObjectHandle(QPDF*, int objid, int generation);
|
QPDFObjectHandle(QPDF*, int objid, int generation);
|
||||||
QPDFObjectHandle(QPDFObject*);
|
QPDFObjectHandle(QPDFObject*);
|
||||||
|
|
|
@ -2962,6 +2962,20 @@ QPDFObjectHandle::isPagesObject()
|
||||||
return (this->isDictionary() && this->hasKey("/Kids"));
|
return (this->isDictionary() && this->hasKey("/Kids"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
QPDFObjectHandle::isFormXObject()
|
||||||
|
{
|
||||||
|
if (! this->isStream())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
QPDFObjectHandle dict = this->getDict();
|
||||||
|
return (dict.getKey("/Type").isName() &&
|
||||||
|
("/XObject" == dict.getKey("/Type").getName()) &&
|
||||||
|
dict.getKey("/Subtype").isName() &&
|
||||||
|
("/Form" == dict.getKey("/Subtype").getName()));
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
QPDFObjectHandle::assertPageObject()
|
QPDFObjectHandle::assertPageObject()
|
||||||
{
|
{
|
||||||
|
|
|
@ -565,11 +565,7 @@ QPDFPageObjectHelper::removeUnreferencedResourcesHelper(
|
||||||
dict.removeKey(*k_iter);
|
dict.removeKey(*k_iter);
|
||||||
}
|
}
|
||||||
QPDFObjectHandle resource = dict.getKey(*k_iter);
|
QPDFObjectHandle resource = dict.getKey(*k_iter);
|
||||||
if (resource.isStream() &&
|
if (resource.isFormXObject())
|
||||||
resource.getDict().getKey("/Type").isName() &&
|
|
||||||
("/XObject" == resource.getDict().getKey("/Type").getName()) &&
|
|
||||||
resource.getDict().getKey("/Subtype").isName() &&
|
|
||||||
("/Form" == resource.getDict().getKey("/Subtype").getName()))
|
|
||||||
{
|
{
|
||||||
QTC::TC("qpdf", "QPDFPageObjectHelper filter form xobject");
|
QTC::TC("qpdf", "QPDFPageObjectHelper filter form xobject");
|
||||||
removeUnreferencedResourcesHelper(
|
removeUnreferencedResourcesHelper(
|
||||||
|
|
Loading…
Reference in New Issue
Block a user