Public Types | |
enum | Filter { e_Unknown = -1, e_NoneDecode = 0, e_ASCIIHexDecode = 1, e_ASCII85Decode = 2, e_LZWDecode = 3, e_FlateDecode = 4, e_RunLengthDecode = 5, e_CCITTFaxDecode = 6, e_JBIG2Decode = 7, e_DCTDecode = 8, e_JPXDecode = 9, e_Crypt = 10 } |
Enumeration for stream filter type. More... | |
![]() | |
enum | Type { e_InvalidType = 0, e_Boolean = 1, e_Number = 2, e_String = 3, e_Name = 4, e_Array = 5, e_Dictionary = 6, e_Stream = 7, e_Null = 8, e_Reference = 9 } |
Enumeration for PDF object type. More... | |
Public Member Functions | |
common::file::ReaderCallback * | ExportData (bool is_raw_data) |
Export stream data. More... | |
bool | GetData (bool is_raw_data, size_t size, void *out_buffer) |
Get stream data. More... | |
uint64 | GetDataSize (bool is_raw_data) |
Get the size of stream data, in bytes. More... | |
PDFDictionary * | GetDictionary () |
Get the PDF dictionary object associated to current PDF stream object. More... | |
Filter | GetStreamFilter () |
Get the type of stream filter which indicate how the stream data must be decoded before the data is used. More... | |
void | ImportData (common::file::ReaderCallback *file_read, Filter stream_filter) |
Import stream data. More... | |
void | SetData (const void *buffer, size_t size) |
Set stream data. More... | |
![]() | |
PDFObject * | CloneObject () const |
Clone current PDF object and get the cloned PDF object. More... | |
PDFArray * | GetArray () |
Get the PDF array object of current PDF object. More... | |
bool | GetBoolean () const |
Get the boolean value of current PDF object. More... | |
DateTime | GetDateTime () const |
Get the date time value of current PDF object. More... | |
PDFDictionary * | GetDict () |
Get the PDF dictionary object of current PDF object. More... | |
PDFObject * | GetDirectObject () const |
Get the direct object of current PDF object. More... | |
float | GetFloat () const |
Get the float value of current PDF object. More... | |
int | GetInteger () const |
Get the integer value of current PDF object. More... | |
Matrix | GetMatrix () const |
Get the matrix value of current PDF object. More... | |
String | GetName () const |
Get the name value of current PDF object. More... | |
uint32 | GetObjNum () const |
Get the indirect object number of current PDF object. More... | |
RectF | GetRect () const |
Get the rectangle value of current PDF object. More... | |
PDFStream * | GetStream () |
Get the PDF stream object of current PDF object. More... | |
String | GetString () const |
Get the string value of current PDF object. More... | |
Type | GetType () const |
Get the type of current PDF object. More... | |
WString | GetWideString () const |
Get the wide string value of current PDF object. More... | |
void | Release () |
Release a newly created PDF object or a clone PDF object, which is not related to PDF document or other PDF object and will not be used any more. More... | |
Static Public Member Functions | |
static PDFStream * | Create (PDFDictionary *dictionary) |
Create a new stream object based on a dictionary. More... | |
![]() | |
static PDFObject * | CreateFromBoolean (bool boolean_value) |
Create a PDF object from a boolean value. More... | |
static PDFObject * | CreateFromDateTime (const DateTime &date_time) |
Create a PDF object from date time. More... | |
static PDFObject * | CreateFromFloat (float float_value) |
Create a PDF object from a float number. More... | |
static PDFObject * | CreateFromInteger (int integer_value) |
Create a PDF object from a integer number. More... | |
static PDFObject * | CreateFromName (const char *name) |
Create a PDF object from a string which represents a name. More... | |
static PDFObject * | CreateFromString (const wchar_t *string_value) |
Create a PDF object from string. More... | |
static PDFObject * | CreateReference (PDFDoc document, uint32 object_number) |
Create a reference for an indirect object. More... | |
A PDF stream object consists of a direct dictionary object and stream data. For more details, please refer to Section 3.2.7 "Stream Objects" in <PDF Reference 1.7>.
Class PDFStream is derived from PDFObject and offers functions to create a new PDF stream object and get/set stream data.
Enumeration for stream filter type.
Values of this enumeration should be used alone. The stream filter indicates how the data in the PDF stream must be decoded before the data is used.
|
static |
Create a new stream object based on a dictionary.
[in] | dictionary | A PDF dictionary object:
|
common::file::ReaderCallback* foxit::pdf::objects::PDFStream::ExportData | ( | bool | is_raw_data | ) |
Export stream data.
This function provides an efficient way to get the stream data, especially for large stream data.
[in] | is_raw_data | A boolean value that indicates whether to get raw data or not: true means to get raw data, and false means to get decoded data (original data). |
bool foxit::pdf::objects::PDFStream::GetData | ( | bool | is_raw_data, |
size_t | size, | ||
void * | out_buffer | ||
) |
Get stream data.
When calling this function, user should pass a memory block with enough size to retrieve data. User is recommended to call function PDFStream::GetDataSize (with same parameter is_raw_data) to get the expected size, then prepare the memory block, and then call this function to get data.
[in] | is_raw_data | A boolean value that indicates whether to get raw data or not: true means to get raw data, and false means to get decoded data (original data). |
[in] | size | Size of parameter out_buffer, in bytes. It should be equal to or larger than the actual data size. |
[out] | out_buffer | A memory block (with enough size) used as output parameter that receives the stream data. It should not be NULL. |
uint64 foxit::pdf::objects::PDFStream::GetDataSize | ( | bool | is_raw_data | ) |
Get the size of stream data, in bytes.
[in] | is_raw_data | A boolean value that indicates whether to get raw data or not: true means to get raw data, and false means to get decoded data (original data). |
PDFDictionary* foxit::pdf::objects::PDFStream::GetDictionary | ( | ) |
Get the PDF dictionary object associated to current PDF stream object.
Filter foxit::pdf::objects::PDFStream::GetStreamFilter | ( | ) |
Get the type of stream filter which indicate how the stream data must be decoded before the data is used.
void foxit::pdf::objects::PDFStream::ImportData | ( | common::file::ReaderCallback * | file_read, |
Filter | stream_filter | ||
) |
Import stream data.
[in] | file_read | A ReaderCallback object implemented by user. Foxit PDF SDK will use this to read stream data and set to current PDF stream object. User should keep this callback valid until the related PDF document is closed or current stream object is released because of useless. |
[in] | stream_filter | Type of stream filter, which specifies how to decode the data which is read through parameter file_read. Please refer to values starting from PDFStream::e_NoneDecode and this should be one of these values except PDFStream::e_Unknown. |
void foxit::pdf::objects::PDFStream::SetData | ( | const void * | buffer, |
size_t | size | ||
) |
Set stream data.
[in] | buffer | A memory block that represents the new stream data to be set. |
[in] | size | Size of parameter buffer, in bytes. |