diff options
Diffstat (limited to 'libqpdf/QPDF.cc')
-rw-r--r-- | libqpdf/QPDF.cc | 25 |
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) { |