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 | |
parent | 53d8e916b75b983c18d4611e91d6e74cb51a49ec (diff) | |
download | qpdf-654c0e8caf5e75119534de5d93d1ee28bd13325a.tar.zst |
Allow adding the same page more than once in --pages (fixes #272)
Diffstat (limited to 'libqpdf')
-rw-r--r-- | libqpdf/QPDF.cc | 6 | ||||
-rw-r--r-- | libqpdf/QPDFPageObjectHelper.cc | 15 |
2 files changed, 21 insertions, 0 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index 95ae9cab..0dbce669 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -2470,6 +2470,12 @@ QPDF::swapObjects(int objid1, int generation1, int objid2, int generation2) this->m->obj_cache[og2] = t; } +unsigned long long +QPDF::getUniqueId() const +{ + return this->m->unique_id; +} + std::string QPDF::getFilename() const { 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)); +} |