diff options
author | Jay Berkenbilt <ejb@ql.org> | 2019-01-12 15:14:20 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2019-01-12 16:01:47 +0100 |
commit | 654c0e8caf5e75119534de5d93d1ee28bd13325a (patch) | |
tree | 7411c6b4af43de86fc0aa977deb29657806c6b48 /libqpdf/QPDFPageObjectHelper.cc | |
parent | 53d8e916b75b983c18d4611e91d6e74cb51a49ec (diff) | |
download | qpdf-654c0e8caf5e75119534de5d93d1ee28bd13325a.tar.zst |
Allow adding the same page more than once in --pages (fixes #272)
Diffstat (limited to 'libqpdf/QPDFPageObjectHelper.cc')
-rw-r--r-- | libqpdf/QPDFPageObjectHelper.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libqpdf/QPDFPageObjectHelper.cc b/libqpdf/QPDFPageObjectHelper.cc index 4093622d..611f33ea 100644 --- a/libqpdf/QPDFPageObjectHelper.cc +++ b/libqpdf/QPDFPageObjectHelper.cc @@ -1,5 +1,6 @@ #include <qpdf/QPDFPageObjectHelper.hh> #include <qpdf/QTC.hh> +#include <qpdf/QPDF.hh> QPDFPageObjectHelper::Members::~Members() { @@ -167,3 +168,17 @@ QPDFPageObjectHelper::removeUnreferencedResources() } } } + +QPDFPageObjectHelper +QPDFPageObjectHelper::shallowCopyPage() +{ + QPDF* qpdf = this->oh.getOwningQPDF(); + if (! qpdf) + { + throw std::runtime_error( + "QPDFPageObjectHelper::shallowCopyPage" + " called with a direct objet"); + } + QPDFObjectHandle new_page = this->oh.shallowCopy(); + return QPDFPageObjectHelper(qpdf->makeIndirectObject(new_page)); +} |