aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDF.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libqpdf/QPDF.cc')
-rw-r--r--libqpdf/QPDF.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc
index 50e08804..fde819a5 100644
--- a/libqpdf/QPDF.cc
+++ b/libqpdf/QPDF.cc
@@ -2002,6 +2002,31 @@ QPDF::makeIndirectObject(QPDFObjectHandle oh)
}
QPDFObjectHandle
+QPDF::newStream()
+{
+ return makeIndirectObject(QPDF_Stream::create(
+ this, nextObjGen(), QPDFObjectHandle::newDictionary(), 0, 0));
+}
+
+QPDFObjectHandle
+QPDF::newStream(std::shared_ptr<Buffer> data)
+{
+ auto result = newStream();
+ result.replaceStreamData(
+ data, QPDFObjectHandle::newNull(), QPDFObjectHandle::newNull());
+ return result;
+}
+
+QPDFObjectHandle
+QPDF::newStream(std::string const& data)
+{
+ auto result = newStream();
+ result.replaceStreamData(
+ data, QPDFObjectHandle::newNull(), QPDFObjectHandle::newNull());
+ return result;
+}
+
+QPDFObjectHandle
QPDF::reserveObjectIfNotExists(QPDFObjGen const& og)
{
if (!isCached(og) && m->xref_table.count(og) == 0) {