Foxit PDF SDK
foxit.pdf.objects.PDFStream类 参考
类 foxit.pdf.objects.PDFStream 继承关系图:
foxit.pdf.objects.PDFObject

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

流过滤器类型的枚举。

此枚举的值应单独使用。 流过滤器指示必须如何解码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)
inlinestatic

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

如果创建的对象尚未添加/设置到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的大小,以字节为单位。
返回
无。