Foxit PDF SDK

Public 类型 | Public 成员函数 | 静态 Public 成员函数 | 所有成员列表
foxit.pdf.objects.PDFStream类 参考
类 foxit.pdf.objects.PDFStream 继承关系图:

## Public 类型
enum | Filter { Filter.e_Unknown = -1, Filter.e_NoneDecode = 0, Filter.e_ASCIIHexDecode = 1, Filter.e_ASCII85Decode = 2, Filter.e_LZWDecode = 3, Filter.e_FlateDecode = 4, Filter.e_RunLengthDecode = 5, Filter.e_CCITTFaxDecode = 6, Filter.e_JBIG2Decode = 7, Filter.e_DCTDecode = 8, Filter.e_JPXDecode = 9, Filter.e_Crypt = 10 }
| 流过滤器类型的枚举。 更多...
Public 类型 继承自 foxit.pdf.objects.PDFObject
enum | Type { Type.e_InvalidType = 0, Type.e_Boolean = 1, Type.e_Number = 2, Type.e_String = 3, Type.e_Name = 4, Type.e_Array = 5, Type.e_Dictionary = 6, Type.e_Stream = 7, Type.e_Null = 8, Type.e_Reference = 9 }
| PDF对象类型的枚举。 更多...

## Public 成员函数
FileReaderCallback | ExportData (bool is_raw_data)
| 导出流数据。 更多...
bool | GetData (bool is_raw_data, uint size, global::System.IntPtr out_buffer)
| 获取流数据。 更多...
int | GetDataSize (bool is_raw_data)
| 获取流数据的大小，以字节为单位。 更多...
PDFDictionary | GetDictionary ()
| 获取与当前PDF流对象关联的PDF字典对象。 更多...
PDFStream.Filter | GetStreamFilter ()
| 获取流过滤器的类型，该类型指示在使用数据之前必须如何解码流数据。 更多...
void | ImportData (FileReaderCallback file_read, PDFStream.Filter stream_filter)
| 导入流数据。 更多...
void | SetData (global::System.IntPtr buffer, uint size)
| 设置流数据。 更多...
Public 成员函数 继承自 foxit.pdf.objects.PDFObject
PDFObject | CloneObject ()
| 克隆当前PDF对象并获取克隆的PDF对象。 更多...
PDFObject | DeepCloneObject ()
| 克隆当前PDF对象并获取克隆的PDF对象。 更多...
PDFArray | GetArray ()
| 获取当前PDF对象的PDF数组对象。 更多...
bool | GetBoolean ()
| 获取当前PDF对象的布尔值。 更多...
DateTime | GetDateTime ()
| 获取当前PDF对象的日期时间值。 更多...
PDFDictionary | GetDict ()
| 获取当前PDF对象的PDF字典对象。 更多...
PDFObject | GetDirectObject ()
| 获取当前PDF对象的直接对象。 更多...
float | GetFloat ()
| 获取当前PDF对象的浮点数值。 更多...
int | GetInteger ()
| 获取当前PDF对象的整数值。 更多...
Matrix2D | GetMatrix ()
| 获取当前PDF对象的矩阵值。 更多...
string | GetName ()
| 获取当前PDF对象的名称值。 更多...
int | GetObjNum ()
| 获取当前PDF对象的间接对象编号。 更多...
RectF | GetRect ()
| 获取当前PDF对象的矩形值。 更多...
PDFStream | GetStream ()
| 获取当前PDF对象的PDF流对象。 更多...
byte [] | GetString ()
| 获取当前PDF对象的字符串值。 更多...
PDFObject.Type | GetType ()
| 获取当前PDF对象的类型。 更多...
string | GetWideString ()
| 获取当前PDF对象的宽字符串值。 更多...
bool | IsIdentical (PDFObject pdf_obj)
| 检查输入的PDF对象是否与当前PDF对象相同。 更多...
void | Release ()
| 释放新创建的PDF对象或克隆PDF对象， 该对象与PDF文档或其他PDF对象无关且不会再使用。 更多...

## 静态 Public 成员函数
static PDFStream | Create (PDFDictionary dictionary)
| 基于字典创建新的流对象。 更多...
静态 Public 成员函数 继承自 foxit.pdf.objects.PDFObject
static PDFObject | CreateFromBoolean (bool boolean_value)
| 从布尔值创建PDF对象。 更多...
static PDFObject | CreateFromDateTime (DateTime date_time)
| 从日期时间创建PDF对象。 更多...
static PDFObject | CreateFromFloat (float float_value)
| 从浮点数创建PDF对象。 更多...
static PDFObject | CreateFromInteger (int integer_value)
| Create a PDF object from a integer number. 更多...
static PDFObject | CreateFromName (string name)
| 从表示名称的字符串创建PDF对象。 更多...
static PDFObject | CreateFromNameW (string name)
| 从表示名称的字符串创建PDF对象。 更多...
static PDFObject | CreateFromString (string string_value)
| 从字符串创建PDF对象。 更多...
static PDFObject | CreateFromString (string string_value, int length)
| 从字符串创建PDF对象。 更多...
static PDFObject | CreateReference (PDFDoc document, int object_number)
| 为间接对象创建引用。 更多...

## 详细描述

PDF流对象由一个直接字典对象和流数据组成。 有关更多详细信息，请参阅<PDF Reference 1.7>中的第3.2.7节“流对象”。
类foxit.pdf.objects.PDFStream 派生自PDFObject ，并提供函数来创建新的PDF流对象以及 获取/设置流数据。

参见
  PDFObject

## 成员枚举类型说明

## ◆ Filter

enum foxit.pdf.objects.PDFStream.Filter
| strong

流过滤器类型的枚举。

此枚举的值应单独使用。 流过滤器指示必须如何解码PDF流中的数据 以便使用该数据。

枚举值
e_Unknown | 未知过滤器类型。
e_NoneDecode | 无需解码流数据。
e_ASCIIHexDecode | 过滤器类型：ASCIIHexDecode，表示解码以ASCII十六进制表示编码的数据， 重现原始二进制数据。
e_ASCII85Decode | 过滤器类型：ASCII85Decode，表示解码以ASCII base-85表示编码的数据， 重现原始二进制数据。
e_LZWDecode | 过滤器类型：LZWDecode，表示解压使用LZW(Lempel-Ziv-Welch) 自适应压缩方法编码的数据，重现原始文本或二进制数据。
e_FlateDecode | 过滤器类型：FlateDecode，表示解压使用zlib/deflate压缩方法编码的数据， 重现原始文本或二进制数据。
e_RunLengthDecode | 过滤器类型：RunLengthDecode，表示解压 使用面向字节的游程长度编码算法编码的数据， 重现原始文本或二进制数据（通常是单色图像数据， 或任何包含频繁长连续单个字节值的数据）。
e_CCITTFaxDecode | 过滤器类型：CCITTFaxDecode，表示解压使用CCITT传真标准编码的数据， 重现原始数据（通常是每像素为1比特的单色图像数据）。
e_JBIG2Decode | 过滤器类型：JBIG2Decode，表示解压使用JBIG2标准编码的数据， 重现原始单色（每像素为1比特）图像数据（或该数据的近似值）。
e_DCTDecode | 过滤器类型：DCTDecode，表示解压使用基于JPEG标准的DCT（离散余弦变换） 技术编码的数据，重现接近原始数据的图像样本数据。
e_JPXDecode | 过滤器类型：JPXDecode，表示解压使用基于小波的 JPEG2000标准编码的数据，重现原始图像数据。
e_Crypt | 过滤器类型：Crypt，表示解密由安全处理程序加密的数据， 重现加密前的原始数据。

## 成员函数说明

## ◆ Create()

static PDFStream foxit.pdf.objects.PDFStream.Create | ( | PDFDictionary | dictionary | ) |
| inline static

基于字典创建新的流对象。

如果创建的对象尚未添加/设置到PDF文档或其他PDF对象中且不会再使用， 请调用函数PDFObject.Release 来释放该对象。

参数

  [in] | dictionary | 一个PDF字典对象： 如果为null，将基于 空的PDF字典创建PDF流对象。 如果不是null，在成功创建PDF流对象后， 请勿对此PDF字典对象调用PDFObject.Release 。

返回
  一个新的PDFStream 对象。如果有任何错误，此函数将返回null。

## ◆ ExportData()

FileReaderCallback foxit.pdf.objects.PDFStream.ExportData | ( | bool | is_raw_data | ) |
| inline

导出流数据。

此函数提供了一种高效的方式来获取流数据，尤其是对于大型流数据。

参数

  [in] | is_raw_data | 一个布尔值，指示是否获取原始数据： true表示获取原始数据，false表示 获取解码后的数据（原始数据）。

返回
  一个foxit.common.fxcrt.FileReaderCallback 对象，可用于读取流数据。 请记得使用返回的foxit.common.fxcrt.FileReaderCallback 对象的Release()回调函数 来释放此foxit.common.fxcrt.FileReaderCallback 对象，当不再使用它时。

注解
  如果当前流对象被释放或相关PDF文档被关闭， 请勿再使用返回的foxit.common.fxcrt.FileReaderCallback 对象；否则，将发生意外错误或崩溃。

## ◆ GetData()

bool foxit.pdf.objects.PDFStream.GetData | ( | bool | is_raw_data,
|  | uint | size,
|  | global::System.IntPtr | out_buffer
| ) |  |
| inline

获取流数据。

调用此函数时，用户应传递一个具有足够大小的内存块来检索数据。 建议用户调用函数PDFStream.GetDataSize （使用相同的参数 is_raw_data）来获取预期大小，然后准备内存块，然后 调用此函数来获取数据。

参数

  [in] | is_raw_data | 一个布尔值，指示是否获取原始数据： true表示获取原始数据，false表示 获取解码后的数据（原始数据）。
  [in] | size | 参数out_buffer的大小，以字节为单位。 它应该等于或大于实际数据大小。
  [out] | out_buffer | 一个内存块（具有足够的大小）用作输出参数来接收流数据。 它不应为null。

返回
  true表示成功，而false表示失败。

## ◆ GetDataSize()

int foxit.pdf.objects.PDFStream.GetDataSize | ( | bool | is_raw_data | ) |
| inline

获取流数据的大小，以字节为单位。

参数

  [in] | is_raw_data | 一个布尔值，指示是否获取原始数据： true表示获取原始数据，false表示 获取解码后的数据（原始数据）。

返回
  数据大小，以字节为单位。

## ◆ GetDictionary()

PDFDictionary foxit.pdf.objects.PDFStream.GetDictionary | ( |  | ) |
| inline

获取与当前PDF流对象关联的PDF字典对象。

返回
  流字典。 如果有任何错误，此函数将返回null。

## ◆ GetStreamFilter()

PDFStream.Filter foxit.pdf.objects.PDFStream.GetStreamFilter | ( |  | ) |
| inline

获取流过滤器的类型，该类型指示在使用数据之前必须如何解码流数据。

返回
  流过滤器的类型。请参考从foxit.pdf.objects.PDFStream.Filter.e_Unknown 开始的值， 此值将是这些值之一。

## ◆ ImportData()

void foxit.pdf.objects.PDFStream.ImportData | ( | FileReaderCallback | file_read,
|  | PDFStream.Filter | stream_filter
| ) |  |
| inline

导入流数据。

参数

  [in] | file_read | 一个由用户实现的foxit.common.fxcrt.FileReaderCallback 对象。Foxit PDF SDK将使用它来 读取流数据并设置到当前PDF流对象。用户应保持 此回调有效，直到相关的PDF文档关闭或当前流对象 因无用而被释放。
  [in] | stream_filter | 流过滤器的类型，指定如何解码通过参数file_read读取的数据。 请参考从foxit.pdf.objects.PDFStream.Filter.e_NoneDecode 开始的值，此值应是这些值之一，但 foxit.pdf.objects.PDFStream.Filter.e_Unknown 除外。

返回
  无。

## ◆ SetData()

void foxit.pdf.objects.PDFStream.SetData | ( | global::System.IntPtr | buffer,
|  | uint | size
| ) |  |
| inline

设置流数据。

参数

  [in] | buffer | 一个内存块，表示要设置的新流数据。
  [in] | size | 参数buffer的大小，以字节为单位。

返回
  无。