diff options
Diffstat (limited to 'libqpdf')
-rw-r--r-- | libqpdf/QPDFPageObjectHelper.cc | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/libqpdf/QPDFPageObjectHelper.cc b/libqpdf/QPDFPageObjectHelper.cc index 07700a66..298da481 100644 --- a/libqpdf/QPDFPageObjectHelper.cc +++ b/libqpdf/QPDFPageObjectHelper.cc @@ -501,8 +501,20 @@ QPDFPageObjectHelper::externalizeInlineImages(size_t min_size, bool shallow) QPDFObjectHandle::parse("<< /XObject << >> >>")); InlineImageTracker iit(this->oh.getOwningQPDF(), min_size, resources); Pl_Buffer b("new page content"); - filterContents(&iit, &b); - if (iit.any_images) + bool filtered = false; + try + { + filterContents(&iit, &b); + filtered = true; + } + catch (std::exception& e) + { + this->oh.warnIfPossible( + std::string("Unable to filter content stream: ") + e.what() + + "; not attempting to externalize inline images" + " from this stream"); + } + if (filtered && iit.any_images) { if (this->oh.isFormXObject()) { |