diff options
Diffstat (limited to 'libqpdf')
-rw-r--r-- | libqpdf/QPDF.cc | 18 | ||||
-rw-r--r-- | libqpdf/QPDFWriter.cc | 7 |
2 files changed, 19 insertions, 6 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index 472e0c13..678f773e 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -138,9 +138,8 @@ void QPDF::processFile(char const* filename, char const* password) { FileInputSource* fi = new FileInputSource(); - this->file = fi; fi->setFilename(filename); - parse(password); + processInputSource(fi, password); } void @@ -148,9 +147,8 @@ QPDF::processFile(char const* description, FILE* filep, bool close_file, char const* password) { FileInputSource* fi = new FileInputSource(); - this->file = fi; fi->setFile(description, filep, close_file); - parse(password); + processInputSource(fi, password); } void @@ -158,10 +156,18 @@ QPDF::processMemoryFile(char const* description, char const* buf, size_t length, char const* password) { - this->file = + processInputSource( new BufferInputSource(description, new Buffer((unsigned char*)buf, length), - true); + true), + password); +} + +void +QPDF::processInputSource(PointerHolder<InputSource> source, + char const* password) +{ + this->file = source; parse(password); } diff --git a/libqpdf/QPDFWriter.cc b/libqpdf/QPDFWriter.cc index eb08488a..c1e4e1dd 100644 --- a/libqpdf/QPDFWriter.cc +++ b/libqpdf/QPDFWriter.cc @@ -135,6 +135,13 @@ QPDFWriter::getBuffer() } void +QPDFWriter::setOutputPipeline(Pipeline* p) +{ + this->filename = "custom pipeline"; + initializePipelineStack(p); +} + +void QPDFWriter::setObjectStreamMode(qpdf_object_stream_e mode) { this->object_stream_mode = mode; |