summaryrefslogtreecommitdiffstats
path: root/libqpdf
diff options
context:
space:
mode:
Diffstat (limited to 'libqpdf')
-rw-r--r--libqpdf/QPDF.cc6
-rw-r--r--libqpdf/QPDFPageObjectHelper.cc15
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));
+}