Foxit PDF SDK

Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
FSDK.PDFStream Class Reference
Inheritance diagram for FSDK.PDFStream:

## Public Member Functions
| ExportData (is_raw_data)
| Export stream data. More...
| GetData (is_raw_data, size, out_buffer)
| Get stream data. More...
| GetDataSize (is_raw_data)
| Get the size of stream data, in bytes. More...
| GetDictionary ()
| Get the PDF dictionary object associated to current PDF stream object. More...
| GetStreamFilter ()
| Get the type of stream filter which indicate how the stream data must be decoded before the data is used. More...
| ImportData (file_read, stream_filter)
| Import stream data. More...
| SetData (buffer, size)
| Set stream data. More...
Public Member Functions inherited from FSDK.PDFObject
| CloneObject ()
| Clone current PDF object and get the cloned PDF object. More...
| DeepCloneObject ()
| Clone current PDF object and get the cloned PDF object. More...
| GetArray ()
| Get the PDF array object of current PDF object. More...
| GetBoolean ()
| Get the boolean value of current PDF object. More...
| GetDateTime ()
| Get the date time value of current PDF object. More...
| GetDict ()
| Get the PDF dictionary object of current PDF object. More...
| GetDirectObject ()
| Get the direct object of current PDF object. More...
| GetFloat ()
| Get the float value of current PDF object. More...
| GetInteger ()
| Get the integer value of current PDF object. More...
| GetMatrix ()
| Get the matrix value of current PDF object. More...
| GetName ()
| Get the name value of current PDF object. More...
| GetObjNum ()
| Get the indirect object number of current PDF object. More...
| GetRect ()
| Get the rectangle value of current PDF object. More...
| GetStream ()
| Get the PDF stream object of current PDF object. More...
| GetString ()
| Get the string value of current PDF object. More...
| GetType ()
| Get the type of current PDF object. More...
| GetWideString ()
| Get the wide string value of current PDF object. More...
| IsIdentical (pdf_obj)
| Check if input PDF object is identical with current PDF object. More...
| 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 | Create (dictionary)
| Create a new stream object based on a dictionary. More...
Static Public Member Functions inherited from FSDK.PDFObject
static | CreateFromBoolean (boolean_value)
| Create a PDF object from a boolean value. More...
static | CreateFromDateTime (date_time)
| Create a PDF object from date time. More...
static | CreateFromFloat (float_value)
| Create a PDF object from a float number. More...
static | CreateFromInteger (integer_value)
| Create a PDF object from a integer number. More...
static | CreateFromName (name)
| Create a PDF object from a string which represents a name. More...
static | CreateFromNameW (name)
| Create a PDF object from a string which represents a name. More...
static | CreateFromString (string_value)
| Create a PDF object from string. More...
static | CreateFromString (string_value, length)
| Create a PDF object from string. More...
static | CreateReference (document, object_number)
| Create a reference for an indirect object. More...

## Static Public Attributes
static | e_ASCII85Decode
| Filter type: ASCII85Decode, which means to decode data encoded in an ASCII base-85 representation, reproducing the original binary data.
static | e_ASCIIHexDecode
| Filter type: ASCIIHexDecode, which means to decode data encoded in an ASCII hexadecimal representation, reproducing the original binary data.
static | e_CCITTFaxDecode
| Filter type: CCITTFaxDecode, which means to decompress data encoded using the CCITT facsimile standard, reproducing the original data (typically monochrome image data at 1 bit per pixel).
static | e_Crypt
| Filter type: Crypt, which means to decrypt data encrypted by a security handler, reproducing the original data as it was before encryption.
static | e_DCTDecode
| Filter type: DCTDecode, which means to decompress data encoded using a DCT (discrete cosine transform) technique based on the JPEG standard, reproducing image sample data that approximates the original data.
static | e_FlateDecode
| Filter type: FlateDecode, which means to decompress data encoded using the zlib/deflate compression method, reproducing the original text or binary data.
static | e_JBIG2Decode
| Filter type: JBIG2Decode, which means to decompress data encoded using the JBIG2 standard, reproducing the original monochrome (1 bit per pixel) image data (or an approximation of that data).
static | e_JPXDecode
| Filter type: JPXDecode, which means to decompress data encoded using the wavelet-based JPEG2000 standard, reproducing the original image data.
static | e_LZWDecode
| Filter type: LZWDecode, which means to decompress data encoded using the LZW (Lempel-Ziv-Welch) adaptive compression method, reproducing the original text or binary data.
static | e_NoneDecode
| No need to decode the stream data.
static | e_RunLengthDecode
| Filter type: RunLengthDecode, which means to decompress data encoded using a byte-oriented run-length encoding algorithm, reproducing the original text or binary data (typically monochrome image data, or any data that contains frequent long runs of a single byte value).
static | e_Unknown
| Enumeration for stream filter type. More...
Static Public Attributes inherited from FSDK.PDFObject
static | e_Array
| PDF array object.
static | e_Boolean
| PDF boolean object.
static | e_Dictionary
| PDF dictionary object.
static | e_InvalidType
| Enumeration for PDF object type. More...
static | e_Name
| PDF name object.
static | e_Null
| PDF null object.
static | e_Number
| PDF number object.
static | e_Reference
| PDF reference object.
static | e_Stream
| PDF stream object.
static | e_String
| PDF string object.

## Detailed Description

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 FSDK.PDFStream is derived from FSDK.PDFObject and offers functions to create a new PDF stream object and get/set stream data.

See also
  FSDK.PDFObject

## Member Function Documentation

## ◆ Create()

static FSDK.PDFStream.Create | ( | dictionary |  | ) |
| static

Create a new stream object based on a dictionary.

Please call function FSDK.PDFObject.Release to release the created object if it has not been added/set into PDF document or other PDF object and will not be used any more.

Parameters

  [in] | dictionary | A PDF dictionary object: If this is null, PDF stream object will be created based on an empty PDF dictionary. If this is not null, after creating PDF stream object successfully, do not call FSDK.PDFObject.Release for this PDF dictionary object.

Returns
  A new FSDK.PDFStream object. If there is any error, this function will return null.

## ◆ ExportData()

FSDK.PDFStream.ExportData | ( | is_raw_data |  | ) |

Export stream data.

This function provides an efficient way to get the stream data, especially for large stream data.

Parameters

  [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).

Returns
  A FSDK.FileReaderCallback object which can be used to read stream data. Please remeber to use callback function Relase() of the returned FSDK.FileReaderCallback object to release this FSDK.FileReaderCallback object when not use it any more.

Note
  If current stream object is released or related PDF document is closed, do not use returned FSDK.FileReaderCallback object any more; otherwise, unexpected error or crash will occur.

## ◆ GetData()

FSDK.PDFStream.GetData | ( | is_raw_data | ,
|  | size | ,
|  | 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 FSDK.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.

Parameters

  [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.

Returns
  true means success, while false means failed.

## ◆ GetDataSize()

FSDK.PDFStream.GetDataSize | ( | is_raw_data |  | ) |

Get the size of stream data, in bytes.

Parameters

  [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).

Returns
  The data size, in bytes.

## ◆ GetDictionary()

FSDK.PDFStream.GetDictionary | ( |  | ) |

Get the PDF dictionary object associated to current PDF stream object.

Returns
  The stream dictionary. If there is any error, this function will return null.

## ◆ GetStreamFilter()

FSDK.PDFStream.GetStreamFilter | ( |  | ) |

Get the type of stream filter which indicate how the stream data must be decoded before the data is used.

Returns
  The type of stream filter. Please refer to values starting from FSDK.PDFStream.e_Unknown and this would be one of these values.

## ◆ ImportData()

FSDK.PDFStream.ImportData | ( | file_read | ,
|  | stream_filter |
| ) |  |

Import stream data.

Parameters

  [in] | file_read | A FSDK.FileReaderCallback 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 FSDK.PDFStream.e_NoneDecode and this should be one of these values except FSDK.PDFStream.e_Unknown.

Returns
  None.

## ◆ SetData()

FSDK.PDFStream.SetData | ( | buffer | ,
|  | size |
| ) |  |

Set stream data.

Parameters

  [in] | buffer | A memory block that represents the new stream data to be set.
  [in] | size | Size of parameter buffer, in bytes.

Returns
  None.

## Member Data Documentation

## ◆ e_Unknown

FSDK.PDFStream.e_Unknown
| static

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.

Unknown filter type.