#include <pdfwriter.h>
Public Member Functions | |
| virtual bool | supportObject (const Object &obj) const |
| virtual void | compress (const Object &obj, Ref *ref, StreamWriter &outStream) const |
Static Public Member Functions | |
| static boost::shared_ptr < ZlibFilterStreamWriter > | getInstance () |
| static unsigned char * | deflate_buffer (unsigned char *in, size_t in_size, size_t &size) |
| static unsigned char * | deflate (const Object &obj, size_t &size) |
Static Private Member Functions | |
| static void | update_dict (const Object &obj) |
Static Private Attributes | |
| static boost::shared_ptr < ZlibFilterStreamWriter > | instance |
Implementation of FlateDecode filter stream writer. It is based on zlib implementation of default deflate method.
| void pdfobjects::utils::ZlibFilterStreamWriter::compress | ( | const Object & | obj, | |
| Ref * | ref, | |||
| StreamWriter & | outStream | |||
| ) | const [virtual] |
Writes given stream object to the output stream. Implementation has to follow pdf specification in format of the data writen in the stream. Nevertheless it is absolutely free in how it does it. It can modify given object to use those filters (and all associated parameters) which are then used when data are written.
| obj | Object to write (must be stream). | |
| ref | Indirect reference for object (NULL for direct object). | |
| outStream | Output stream where to put data. |
Implements pdfobjects::utils::FilterStreamWriter.
References debug::DBG_WARN, deflate(), StreamWriter::putLine(), pdfobjects::utils::streamToCharBuffer(), and utilsPrintDbg.
| unsigned char * pdfobjects::utils::ZlibFilterStreamWriter::deflate | ( | const Object & | obj, | |
| size_t & | size | |||
| ) | [static] |
Stream data extractor implementation for streamToCharBuffer function.
| obj | Stream object. | |
| size | Size of the returned buffer data. |
Uses bufferFromStreamData to get raw data without any filters, compresses returned buffer with the deflate_buffer function and updates given stream object's dictionary to contain proper filter data.
References pdfobjects::utils::convertStreamToDecodedData(), debug::DBG_DBG, deflate_buffer(), update_dict(), and utilsPrintDbg.
Referenced by compress(), and deflate_buffer().
| unsigned char * pdfobjects::utils::ZlibFilterStreamWriter::deflate_buffer | ( | unsigned char * | in, | |
| size_t | in_size, | |||
| size_t & | size | |||
| ) | [static] |
Compress given buffer with deflate method.
| in | Input buffer. | |
| in_size | Input buffer size. | |
| size | Size of the output buffer data. |
Uses zlib interface to deflate given data.
References debug::DBG_CRIT, debug::DBG_DBG, debug::DBG_ERR, deflate(), and utilsPrintDbg.
Referenced by deflate().
| boost::shared_ptr< ZlibFilterStreamWriter > pdfobjects::utils::ZlibFilterStreamWriter::getInstance | ( | ) | [static] |
References instance.
| bool pdfobjects::utils::ZlibFilterStreamWriter::supportObject | ( | const Object & | obj | ) | const [virtual] |
Checks whether given stream object is supported by this writer.
| obj | Stream object. |
Implements pdfobjects::utils::FilterStreamWriter.
References pdfobjects::utils::getFiltersFromStream().
| void pdfobjects::utils::ZlibFilterStreamWriter::update_dict | ( | const Object & | obj | ) | [static, private] |
Updates given stream object with the applied fiter data.
| obj | Stream object. |
Only for internal use of ZlibFilterStreamWriter class.
Referenced by deflate().
boost::shared_ptr< ZlibFilterStreamWriter > pdfobjects::utils::ZlibFilterStreamWriter::instance [static, private] |
Shared writer instance
Referenced by getInstance().