|
Foxit PDF SDK
|
Public 成员函数 | |
| PDFPage (foxit.pdf.PDFDoc document, PDFDictionary page_dict) | |
| 构造函数,从表示PDF页面的PDF字典和包含该字典的PDF文档创建。 更多... | |
| PDFPage (GraphicsObjects other) | |
| 构造函数,使用父类对象。 更多... | |
| Annot | AddAnnot (Annot.Type type, RectF rect) |
| 向当前PDF页面添加注释。 更多... | |
| Annot | AddAnnot (PDFDictionary annot_dict) |
| 向当前PDF页面添加注释(通过有效的注释字典)。 更多... | |
| bool | AddImage (Image image, int frame_index, PointF position, float width, float height, bool auto_generate_content) |
| 添加图像到当前页面。 更多... | |
| bool | AddImageFromFilePath (string file_path, PointF position, float width, float height, bool auto_generate_content) |
| 从文件路径添加图像到当前页面。 更多... | |
| Signature | AddSignature (RectF rect) |
| 向PDF页面添加普通签名。 更多... | |
| Signature | AddSignature (RectF rect, string field_name) |
| 向PDF页面添加普通签名。 更多... | |
| Signature | AddSignature (RectF rect, string field_name, Signature.SignatureType signature_type, bool to_check_permission) |
| 向PDF页面添加签名。 更多... | |
| Signature | AddSignatureWithExistedVDict (RectF rect, string field_name, Signature.SignatureType signature_type, bool to_check_permission, Signature existed_signature) |
| 使用特定签名中已存在的"V"字典添加签名到 PDF 页面。 更多... | |
| bool | AddText (string text, RectF rect, RichTextStyle style, Matrix2D matrix, bool is_each_text, bool disable_embed_font) |
| 添加文本到当前页面。 更多... | |
| RectF | AddText (string text, RectF rect, RichTextStyle style, int rotation, RotationPointOptions rotate_point, bool disable_embed_font) |
| 添加文本到当前页面。 更多... | |
| RectF | CalcContentBBox (PDFPage.CalcMarginMode mode) |
| 计算PDF页面的内容区域。 更多... | |
| RectF | CalculateNewRectForText (string text, RectF rect, RichTextStyle style, int rotation, RotationPointOptions rotate_point, bool disable_embed_font) |
| 计算新文本矩形。 更多... | |
| void | ClearRenderCache () |
| 清除渲染缓存。 更多... | |
| bool | Flatten (bool for_display, int options) |
| 拼合当前PDF页面:根据指定选项,注释或表单字段可能成为页面内容的一部分。 更多... | |
| bool | FlattenAnnot (Annot annot) |
| 拼合注释:将注释合并到页面内容中,然后将其移除。 更多... | |
| Annot | GetAnnot (int index) |
| 通过索引获取注释。 更多... | |
| Annot | GetAnnotAtDevicePoint (PointF position, float tolerance, Matrix2D matrix) |
| 获取指定位置的注释,在设备坐标系统中。 更多... | |
| Annot | GetAnnotAtPoint (PointF position, float tolerance) |
| 获取指定位置的注释,在中。 更多... | |
| int | GetAnnotCount () |
| 获取注释的数量。 更多... | |
| PDFArray | GetAnnots () |
| 获取"Annots"的 PDF 数组。 更多... | |
| AnnotArray | GetAnnotsAtDevicePoint (PointF position, float tolerance, Matrix2D matrix) |
| 获取指定位置的所有注释,在设备坐标系统中。 更多... | |
| AnnotArray | GetAnnotsAtPoint (PointF position, float tolerance) |
| 获取指定位置的所有注释,在中。 更多... | |
| RectF | GetBox (PDFPage.BoxType box_type) |
| 获取页面框。 更多... | |
| PDFObject | GetContents () |
| 获取"Contents"的 PDF 对象。 更多... | |
| PDFDictionary | GetDict () |
| 获取页面字典。 更多... | |
| Matrix2D | GetDisplayMatrix (int left, int top, int width, int height, Rotation rotate) |
| 获取PDF页面的显示矩阵,从到 目标设备坐标系统。 更多... | |
| PDFDoc | GetDocument () |
| 获取当前PDF页面所属的PDF文档。 更多... | |
| GraphicsObject | GetGraphicsObjectAtDevicePoint (PointF point, float tolerance, Matrix2D matrix, GraphicsObject.Type filter) |
| 获取设备坐标系统中指定点的最顶层图形对象,使用指定的类型过滤器。 更多... | |
| GraphicsObject | GetGraphicsObjectAtPoint (PointF point, float tolerance, GraphicsObject.Type filter) |
| 获取指定点的最顶层图形对象,使用指定的类型过滤器。 更多... | |
| GraphicsObject | GetGraphicsObjectAtRectangle (RectF rect, GraphicsObject.Type filter) |
| 获取矩形与指定矩形相交的最顶层图形对象,使用指定的类型过滤器。 更多... | |
| GraphicsObjectArray | GetGraphicsObjectsAtDevicePoint (PointF point, float tolerance, Matrix2D matrix, GraphicsObject.Type filter) |
| 获取设备坐标系统中指定点的所有图形对象,使用指定的类型过滤器。 更多... | |
| GraphicsObjectArray | GetGraphicsObjectsAtPoint (PointF point, float tolerance, GraphicsObject.Type filter) |
| 获取指定点的所有图形对象,使用指定的类型过滤器。 更多... | |
| GraphicsObjectArray | GetGraphicsObjectsAtRectangle (RectF rect, GraphicsObject.Type filter) |
| 获取矩形与指定矩形相交的所有图形对象,使用指定的类型过滤器。 更多... | |
| float | GetHeight () |
| 获取页面高度(单位是1/72英寸)。 更多... | |
| int | GetIndex () |
| 获取页面索引。 更多... | |
| PDFObject | GetInheritedAttribute (string attruibute_name) |
| 获取指定属性的 PDF 对象,该属性可能从页面树中的祖先节点继承。 更多... | |
| PDFDictionary | GetResources () |
| 获取"Resources"的 PDF 字典。 更多... | |
| Rotation | GetRotation () |
| 获取页面旋转。 更多... | |
| RectF | GetSuggestedRect (Bitmap render_result, Matrix2D render_matrix, PointF point) |
| 基于渲染结果位图为点(位于 )获取建议的矩形(位于 )。 更多... | |
| PDFStream | GetThumb () |
| 获取"Thumb"的 PDF 流。 更多... | |
| float | GetUserUnitSize () |
| 获取用户单位。 更多... | |
| float | GetWidth () |
| 获取页面宽度(单位是1/72英寸)。 更多... | |
| bool | HasTransparency () |
| 检查当前PDF页面是否具有透明度。 更多... | |
| bool | HasWatermark () |
| 检查当前页面是否有水印(不包括Foxit PDF SDK试用水印)。 更多... | |
| bool | IsParsed () |
| 检查当前页面是否已被解析。 更多... | |
| bool | IsScanned () |
| 检查当前PDF页面是否为扫描页面。 更多... | |
| Bitmap | LoadThumbnail () |
| 加载缩略图位图。 更多... | |
| void | MoveAnnotToFirst (Annot annot) |
| 将指定注释更改为所有注释中的第一个。 更多... | |
| void | MoveAnnotToLast (Annot annot) |
| 将指定注释更改为所有注释中的最后一个。 更多... | |
| void | MoveAnnotToNext (Annot annot) |
| 交换当前注释与其下一个注释的索引。 更多... | |
| void | MoveAnnotToPrev (Annot annot) |
| 交换当前注释与其前一个注释的索引。 更多... | |
| bool | Normalize () |
| 通过撤销任何旋转并移除到页面"CropBox"的偏移来转换当前PDF页面。 更多... | |
| bool | RemoveAllWatermarks () |
| 移除所有水印。 更多... | |
| bool | RemoveAnnot (Annot annot) |
| 移除注释。 更多... | |
| bool | SetAnnotGroup (MarkupArray annot_array, int header_index) |
| 将所有输入的标记注释组合在一起。 更多... | |
| void | SetBox (PDFPage.BoxType box_type, RectF box) |
| 设置页面框。 更多... | |
| void | SetClipRect (RectF clip_rect) |
| 为当前PDF页面上的所有图形对象设置剪切矩形。 更多... | |
| void | SetRotation (Rotation rotate) |
| 设置页面旋转。 更多... | |
| void | SetSize (float width, float height) |
| 设置页面宽度和高度。 更多... | |
| void | SetSize (PDFPage.Size size) |
| 设置页面大小类型。 更多... | |
| void | SetThumbnail (Bitmap thumbnail) |
| 设置页面缩略图。 更多... | |
| void | SetUserUnitSize (float user_unit) |
| 设置用户单位。 更多... | |
| TextObjectArray | SplitTextsInRectangle (RectF rect, int split_step) |
| 分割文本对象,这些对象的矩形(在中)与指定的矩形 (在中)相交,并根据split_step进一步分割相交部分。 更多... | |
| Progressive | StartParse (int flags, PauseCallback pause, bool is_reparse) |
| 开始解析当前页面。 更多... | |
| bool | Transform (Matrix2D matrix, bool need_transform_clip_path, bool need_transform_annotations) |
| 转换PDF页面,包括页面上的注释和表单字段。 更多... | |
| void | UpdateAnnotList () |
| 更新注释列表。 更多... | |
Public 成员函数 继承自 foxit.pdf.GraphicsObjects | |
| GraphicsObjects (GraphicsObjects other) | |
| 构造函数,使用另一个 GraphicsObjects 对象。 更多... | |
| bool | GenerateContent () |
| 生成当前图形对象的内容。 更多... | |
| bool | GenerateContent (GraphicsObjects.TextMergeOption text_merge_option) |
| 生成当前图形对象的内容。 更多... | |
| long | GetFirstGraphicsObjectPosition (GraphicsObject.Type filter) |
| 获取图形对象列表中第一个图形对象的位置,基于类型过滤器。 更多... | |
| GraphicsObject | GetGraphicsObject (long position) |
| 通过图形对象列表中的位置获取图形对象。 更多... | |
| GraphicsObject | GetGraphicsObject (int index) |
| 通过索引获取图形对象。 更多... | |
| int | GetGraphicsObjectCount () |
| 获取图形对象列表中图形对象的数量。 更多... | |
| int | GetGraphicsObjectIndex (GraphicsObject graphics_object) |
| 获取指定图形对象在图形对象列表中的索引。 更多... | |
| long | GetGraphicsObjectPosition (GraphicsObject graphics_object) |
| 获取指定图形对象的位置。 更多... | |
| long | GetLastGraphicsObjectPosition (GraphicsObject.Type filter) |
| 获取图形对象列表中最后一个图形对象的位置,基于类型过滤器。 更多... | |
| long | GetNextGraphicsObjectPosition (long position, GraphicsObject.Type filter) |
| 获取图形对象列表中下一个图形对象的位置, 基于类型过滤器和指定的当前位置。 更多... | |
| long | GetPrevGraphicsObjectPosition (long position, GraphicsObject.Type filter) |
| 获取图形对象列表中上一个图形对象的位置, 基于类型过滤器和指定的当前位置。 更多... | |
| long | InsertGraphicsObject (long position_insert_after, GraphicsObject graphics_object) |
| 在指定位置后插入图形对象。 更多... | |
| bool | IsEmpty () |
| 检查当前对象是否为空。 更多... | |
| long | MoveGraphicsObjectByPosition (long current_position, long position_move_after) |
| 将图形对象从一个位置移动到另一个位置。 更多... | |
| bool | RemoveGraphicsObject (GraphicsObject graphics_object) |
| 删除图形对象。 更多... | |
| bool | RemoveGraphicsObjectByPosition (long position) |
| 通过位置删除图形对象。 更多... | |
PDF页面在PDF坐标系统中定义,使用页面的左下角作为 原点(0, 0)。
通常,PDF页面对象通过函数PDFDoc.GetPage 从PDF文档中获取。 对于大多数情况,PDF页面应该首先被解析然后才能使用。函数PDFPage.IsParsed 可以 用于判断PDF页面是否已被解析。对于未解析的页面,请使用函数 PDFPage.StartParse 来解析它。
此类提供获取/设置PDF页面数据的函数,如页面宽度/高度、页面旋转、 显示矩阵等。此外,此类还提供检索PDF注释的函数:
要获取PDF注释,使用函数pdf.PDFPage.GetAnnot 、PDFPage.GetAnnotAtPoint 或PDFPage.GetAnnotAtDevicePoint 。
要添加新的PDF注释,使用函数PDFPage.AddAnnot 。
要删除PDF注释,使用函数PDFPage.RemoveAnnot 。
类foxit.pdf.PDFPage 派生自类foxit.pdf.GraphicsObjects ,因此PDFPage类还提供检索PDF图形对象的函数: retrieve PDF graphics objects: 检索PDF图形对象:
要获取PDF图形对象,使用函数GraphicsObjects.GetFirstGraphicsObjectPosition 、 GraphicsObjects.GetNextGraphicsObjectPosition 、 GraphicsObjects.GetLastGraphicsObjectPosition 、 pdf.GraphicsObjects.GetPrevGraphicsObjectPosition 和 GraphicsObjects.GetGraphicsObject pdf.GraphicsObjects.GetPrevGraphicsObjectPosition 和GraphicsObjects.GetGraphicsObject (these functions are inherited from parent class), or PDFPage.GetGraphicsObjectAtPoint . (这些函数继承自父类),或PDFPage.GetGraphicsObjectAtPoint 。
要插入PDF图形对象,使用函数GraphicsObjects.InsertGraphicsObject (继承自父类)。
要删除PDF图形对象,使用函数GraphicsObjects.RemoveGraphicsObjectByPosition 或GraphicsObjects.RemoveGraphicsObject (这些函数继承自父类)。
This class object can also be used to construct objects of other classes in order to access specified information 此类对象也可用于构造其他类的对象,以便访问指定信息 in PDF page: 在PDF页面中:
To access text content in PDF page, please construct a TextPage with PDF page object.
要访问PDF页面中的文本内容,请使用PDF页面对象构造TextPage 。
To do reflowing, please construct a ReflowPage with PDF page object.
要进行重排,请使用PDF页面对象构造ReflowPage 。
To access additional actions, please construct an foxit.pdf.actions.AdditionalAction object with PDF page object.
要访问附加动作,请使用PDF页面对象构造foxit.pdf.actions.AdditionalAction 对象。
To manage the tab order of annotations in PDF page, please construct a TabOrderMgr with PDF page object.
要管理PDF页面中注释的标签顺序,请使用PDF页面对象构造TabOrderMgr 。
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
inline |
构造函数,从表示PDF页面的PDF字典和包含该字典的PDF文档创建。
| [in] | document | 有效的PDF文档。 |
| [in] | page_dict | PDF页面的PDF字典。它应该属于参数document指定的PDF文档。 |
|
inline |
构造函数,使用父类对象。
| [in] | other | 父类对象。 |
|
inline |
向当前PDF页面添加注释。
目前,此函数可以支持添加大多数注释类型,除了:
Widget、Sound、Movie、PrinterMark、TrapNet、Watermark、3D、PSInk、Redact。
注意:
控件注释用于表示表单字段的外观, 包括签名字段:
对于签名字段,可以调用函数 PDFPage.AddSignature 来 添加新的签名对象。
对于其他类型的表单字段,可以调用函数 interform.Form.AddControl 来 添加新的表单字段(包含表单控件)。
PSInk注释应该通过函数 PSI.ConvertToPDFAnnot 从PSI对象转换而来。
编辑注释应该通过函数 addon.Redaction.MarkRedactAnnot 添加来标记PDF页面中的区域。
对于支持的注释类型,如果用户未设置新创建注释的任何属性 (除了必需属性)并且直接调用函数 annots.Annot.ResetAppearanceStream ,将使用默认外观。请参考 具体注释类的注释以了解其默认外观的更多详细信息。
| [in] | type | 要添加的注释类型。请参考从 foxit.pdf.annots.Annot.Type.e_Note 开始的值,应该是这些值中的一个, 除了foxit.pdf.annots.Annot.Type.e_PSInk 、foxit.pdf.annots.Annot.Type.e_Sound 、 foxit.pdf.annots.Annot.Type.e_Movie 、foxit.pdf.annots.Annot.Type.e_Widget 、 foxit.pdf.annots.Annot.Type.e_PrinterMark 、foxit.pdf.annots.Annot.Type.e_TrapNet 、 foxit.pdf.annots.Annot.Type.e_Watermark 、foxit.pdf.annots.Annot.Type.e_3D 。 |
| [in] | rect | 新注释的矩形区域。
|
|
inline |
向当前PDF页面添加注释(通过有效的注释字典)。
| [in] | annot_dict | 要作为注释添加到当前PDF页面的有效注释字典。 |
|
inline |
添加图像到当前页面。
如果图像类型是 foxit.common.Image.Type.e_JPG ,图像应该保持有效 直到相关文档关闭。
| [in] | image | 图像。其中一个帧将被设置到当前页面。 此图像包含至少一个帧,图像类型不应为 foxit.common.Image.Type.e_Unknown 。 |
| [in] | frame_index | 帧索引。有效范围:从 0 到 (count-1)。 count 由函数 common.Image.GetFrameCount 返回。 |
| [in] | position | 指定位置,为图像对象的左下角,位于 中。 |
| [in] | width | 用于将图像设置到页面中的宽度(单位为 1/72 英寸)。 此值应大于 0。 |
| [in] | height | 用于将图像设置到页面中的高度(单位为 1/72 英寸)。 此值应大于 0。 |
| [in] | auto_generate_content | true 表示内部生成内容。 当使用 false 时,用户应确保在添加图像后调用函数 GraphicsObjects.GenerateContent 。 更多详情请参考函数 GraphicsObjects.GenerateContent 。 默认值:true。 |
|
inline |
从文件路径添加图像到当前页面。
如果输入图像(由文件路径指定)有多个帧,只有第一帧会被默认添加到 当前页面。
| [in] | file_path | 现有图像文件的完整路径。不应为空字符串。 |
| [in] | position | 指定位置,为图像对象的左下角,位于 中。 |
| [in] | width | 用于将图像设置到页面中的宽度。 此值应大于 0。 |
| [in] | height | 用于将图像设置到页面中的高度。 此值应大于 0。 |
| [in] | auto_generate_content | true 表示内部生成内容。 当使用 false 时,用户应确保在添加图像后调用函数 GraphicsObjects.GenerateContent 。 更多详情请参考函数 GraphicsObjects.GenerateContent 。 默认值:true。 |
|
inline |
向PDF页面添加签名。
对于新的普通签名,其过滤器默认为"Adobe.PPKLite",子过滤器默认为"adbe.pkcs7.detached"。 对于新的时间戳签名,其过滤器默认为"Adobe.PPKLite",子过滤器默认为"ETSI.RFC3161"。 有关签名过滤器和子过滤器的更多详细信息,请参考类 Signature 。
在对新签名进行签名之前,用户还可以调用类 Signature 的设置函数 来设置用于签名和签名外观的其他信息。
| [in] | rect | 新签名的矩形位置,在 中。 如果参数 signature_type 是 foxit.pdf.Signature.SignatureType.e_SignatureTypeTimeStamp , 此矩形将被忽略;否则,这应该是 中的有效矩形。 |
| [in] | field_name | 签名字段名称。可以是空字符串。 |
| [in] | signature_type | 签名类型。请参考从 foxit.pdf.Signature.SignatureType.e_SignatureTypeOrdinary 开始的值, 应该是这些值中的一个。 |
| [in] | to_check_permission | 一个布尔值,决定 Foxit PDF SDK 是否应在添加签名前检查 PDF 文档的权限: true 表示 Foxit PDF SDK 应检查文档权限以决定是否允许添加签名, false 表示 Foxit PDF SDK 不应在添加签名前检查文档权限。 当此参数为 false 时,用户应确保检查文档权限以检查是否允许添加签名。 默认值:true。 |
|
inline |
使用特定签名中已存在的"V"字典添加签名到 PDF 页面。
对于新的普通签名,其过滤器默认为"Adobe.PPKLite",子过滤器默认为"adbe.pkcs7.detached"。 对于新的时间戳签名,其过滤器默认为"Adobe.PPKLite",子过滤器默认为"ETSI.RFC3161"。 有关签名过滤器和子过滤器的更多详情,请参考类 Signature 。
在签署新签名之前,用户还可以调用类 Signature 的设置函数 来设置用于签署和签名外观的其他信息。 共享 V 字典后,对与 V 字典相关的条目的任何更改都将同时 影响所有共享 V 字典的签名的外观。
| [in] | rect | 新签名的矩形位置,在 中。 如果参数 signature_type 是 foxit.pdf.Signature.SignatureType.e_SignatureTypeTimeStamp , 此矩形将被忽略;否则,这应该是 中的有效矩形。 |
| [in] | field_name | 签名字段名称。这可以是空字符串。 |
| [in] | signature_type | 签名类型。请参考从 foxit.pdf.Signature.SignatureType.e_SignatureTypeOrdinary 开始的值,这应该是这些值中的一个。 |
| [in] | to_check_permission | 一个布尔值,决定Foxit PDF SDK是否应在添加签名前检查PDF文档的权限: true 表示Foxit PDF SDK应检查文档权限以决定是否允许添加签名, false 表示Foxit PDF SDK不应在添加签名前检查文档权限。 当此参数为 false 时,用户应确保检查文档权限以确认是否允许添加签名。 默认值:true。 |
| [in] | existed_signature | 其"V"字典将在新添加的签名中使用的签名。 |
|
inline |
添加文本到当前页面。
如果文本太长无法适合矩形,文本会自动换行。
| [in] | text | 新文本字符串的内容。不应为空字符串。 |
| [in] | rect | 框矩形,位于 中。 |
| [in] | style | 用于新文本字符串的样式数据。 |
| [in] | matrix | 用于添加文本块的变换矩阵。 |
| [in] | is_each_text | 一个布尔值,指示是否为文本块内的每个文本对象单独应用变换矩阵。 true 表示为每个文本对象使用单独的矩阵, false 表示为整个文本块使用相同的矩阵。 |
| [in] | disable_embed_font | 一个布尔值,表示是否禁用嵌入字体。 true 表示禁用嵌入字体,false 表示不禁用。 |
|
inline |
添加文本到当前页面。
如果文本太长无法适合矩形,文本会自动换行。
| [in] | text | 新文本字符串的内容。不应为空字符串。 |
| [in] | rect | 框矩形,位于 中。 |
| [in] | style | 用于新文本字符串的样式数据。 |
| [in] | rotation | 新文本字符串的旋转值。 |
| [in] | rotate_point | 旋转参考点。请参考从 foxit.common.RotationPointOptions.e_RotationPointCenter 开始的值, 应该是这些值中的一个。 |
| [in] | disable_embed_font | 一个布尔值,表示是否禁用嵌入字体。 true 表示禁用嵌入字体,false 表示不禁用。 |
|
inline |
计算PDF页面的内容区域。
在使用此函数之前,请确保当前页面已被解析。
| [in] | mode | 计算模式。它应该是以下值之一:
|
|
inline |
计算新文本矩形。
| [in] | text | 新文本字符串的内容。不应为空字符串。 |
| [in] | rect | 框矩形,位于 中。 |
| [in] | style | 用于新文本字符串的样式数据。 |
| [in] | rotation | 新文本字符串的旋转值。 |
| [in] | rotate_point | 旋转参考点。请参考从 foxit.common.RotationPointOptions.e_RotationPointCenter 开始的值, 应该是这些值中的一个。 |
| [in] | disable_embed_font | 一个布尔值,表示是否禁用嵌入字体。 true 表示禁用嵌入字体,false 表示不禁用。 |
|
inline |
清除渲染缓存。
|
inline |
拼合当前PDF页面:根据指定选项,注释或表单字段可能成为页面内容的一部分。
注释标志可以决定注释是否可以显示或是否可以打印。 这也会影响拼合结果:
如果拼合结果用于显示,只有可以显示的注释 才会被拼合成为页面内容的一部分。
如果拼合结果用于打印,只有可以打印的注释 才会被拼合成为页面内容的一部分。
表单字段的外观由控件注释表示,控件注释是一种注释,在Foxit PDF SDK中 被视为表单控件。因此,当表单字段要被拼合时,注释标志也会影响表单字段。 有关注释标志的更多详细信息,请参考从 foxit.pdf.annots.Annot.Flags.e_FlagInvisible 开始的值 以及<PDF参考1.7>中的第8.4.2节"注释标志"。
注释或表单字段被拼合后,它将不再是注释或表单字段。 成功拼合当前页面后,用户应通过函数 PDFPage.StartParse 重新解析此页面。
| [in] | for_display | 决定拼合结果的用途: true 表示拼合结果仅用于显示, false 表示拼合结果仅用于打印。 |
| [in] | options | 拼合选项。请参考从 foxit.pdf.PDFPage.FlattenOptions.e_FlattenAll 开始的值, 这应该是其中一个或它们的组合。 特别地,如果同时使用 foxit.pdf.PDFPage.FlattenOptions.e_FlattenNoAnnot 和 foxit.pdf.PDFPage.FlattenOptions.e_FlattenNoFormControl , 这意味着没有任何内容要拼合到页面,此函数将 直接返回 true。 默认值:foxit.pdf.PDFPage.FlattenOptions.e_FlattenAll 。 |
|
inline |
拼合注释:将注释合并到页面内容中,然后将其移除。
成功拼合注释后,用户应通过函数 PDFPage.StartParse 重新解析此页面。
| [in] | annot | 要拼合和移除的注释。 |
|
inline |
|
inline |
获取指定位置的注释,在设备坐标系统中。
如果在此指定位置有多个注释,此函数将始终返回 最顶层的注释。具有标志foxit.pdf.annots.Annot.Flags.e_FlagNoView 或 foxit.pdf.annots.Annot.Flags.e_FlagHidden 或foxit.pdf.annots.Annot.Flags.e_FlagInvisible 的注释不会被此函数检索。如果返回的注释有标志 foxit.pdf.annots.Annot.Flags.e_FlagReadOnly ,则无法修改。
| [in] | position | 指定位置,在设备坐标系统中。 |
| [in] | tolerance | 容差值。有效范围:0.0f到30.0f。 |
| [in] | matrix | 变换矩阵。通常这由函数 PDFPage.GetDisplayMatrix 返回。如果这是null,当前函数将 具有与函数PDFPage.GetAnnotAtPoint 相同的功能。 默认值:null。 |
获取指定位置的注释,在中。
如果在此指定位置有多个注释,此函数将始终返回 最顶层的注释。具有标志foxit.pdf.annots.Annot.Flags.e_FlagNoView 或 foxit.pdf.annots.Annot.Flags.e_FlagHidden 或foxit.pdf.annots.Annot.Flags.e_FlagInvisible 的注释不会被此函数检索。如果返回的注释有标志 foxit.pdf.annots.Annot.Flags.e_FlagReadOnly ,则无法修改。
| [in] | position | 指定位置,在中。 |
| [in] | tolerance | 容差值。有效范围:0.0f到30.0f。 |
|
inline |
获取注释的数量。
|
inline |
获取"Annots"的 PDF 数组。
|
inline |
获取指定位置的所有注释,在设备坐标系统中。
在一个指定位置,可能存在多个注释。 此函数可用于检索指定位置的所有这些注释。 具有标志foxit.pdf.annots.Annot.Flags.e_FlagNoView 或 foxit.pdf.annots.Annot.Flags.e_FlagHidden 或foxit.pdf.annots.Annot.Flags.e_FlagInvisible 的注释不会被此函数检索。
如果返回注释数组对象的函数annots.AnnotArray.GetAt 的返回注释对象 有标志foxit.pdf.annots.Annot.Flags.e_FlagReadOnly ,表示该注释 无法修改。
| [in] | position | 指定位置,在设备坐标系统中。 |
| [in] | tolerance | 容差值。有效范围:0.0f到30.0f。 |
| [in] | matrix | 变换矩阵。通常这由函数 PDFPage.GetDisplayMatrix 返回。如果这是null,当前函数将 具有与函数PDFPage.GetAnnotAtPoint 相同的功能。 默认值:null。 |
|
inline |
获取指定位置的所有注释,在中。
在一个指定位置,可能存在多个注释。 此函数可用于检索指定位置的所有这些注释。 具有标志foxit.pdf.annots.Annot.Flags.e_FlagNoView 或 foxit.pdf.annots.Annot.Flags.e_FlagHidden 或foxit.pdf.annots.Annot.Flags.e_FlagInvisible 的注释不会被此函数检索。
如果返回注释数组对象的函数annots.AnnotArray.GetAt 的返回注释对象 有标志foxit.pdf.annots.Annot.Flags.e_FlagReadOnly ,表示该注释 无法修改。
| [in] | position | 指定位置,在中。 |
| [in] | tolerance | 容差值。有效范围:0.0f到30.0f。 |
|
inline |
获取页面框。
| [in] | box_type | 页面框类型。请参考从 foxit.pdf.PDFPage.BoxType.e_MediaBox 开始的值, 这应该是这些值中的一个。 |
|
inline |
获取"Contents"的 PDF 对象。
|
inline |
获取页面字典。
|
inline |
获取PDF页面的显示矩阵,从到 目标设备坐标系统。
| [in] | left | 设备坐标系统中变换区域的左侧位置,通常以像素为单位。 |
| [in] | top | 设备坐标系统中变换区域的顶部位置,通常以像素为单位。 |
| [in] | width | 设备坐标系统中变换区域的宽度,通常以像素为单位。 |
| [in] | height | 设备坐标系统中变换区域的高度,通常以像素为单位。 |
| [in] | rotate | 旋转值。请参考从foxit.common.Rotation.e_Rotation0 开始的值, 这应该是这些值中的一个,除了foxit.common.Rotation.e_RotationUnknown 。 |
|
inline |
获取当前PDF页面所属的PDF文档。
|
inline |
获取设备坐标系统中指定点的最顶层图形对象,使用指定的类型过滤器。
| [in] | point | 指定位置,在设备坐标系统中。 |
| [in] | tolerance | 图形对象命中检测的容差值,以点为单位。它应该是正值。 |
| [in] | matrix | 转换矩阵。通常这是由函数 PDFPage.GetDisplayMatrix 返回的。 默认值:null。 |
| [in] | filter | 指定要获取的图形对象类型的类型过滤器。 请参考从 foxit.pdf.graphics.GraphicsObject.Type.e_TypeAll 开始的值, 这应该是这些值中的一个。 foxit.pdf.graphics.GraphicsObject.Type.e_TypeAll 表示所有类型的图形对象。 默认值:foxit.pdf.graphics.GraphicsObject.Type.e_TypeAll 。 |
|
inline |
获取指定点的最顶层图形对象,使用指定的类型过滤器。
| [in] | point | 指定位置,在 中。 |
| [in] | tolerance | 图形对象命中检测的容差值,以点为单位。它应该是正值。 |
| [in] | filter | 指定要获取的图形对象类型的类型过滤器。 请参考从 foxit.pdf.graphics.GraphicsObject.Type.e_TypeAll 开始的值, 这应该是这些值中的一个。 foxit.pdf.graphics.GraphicsObject.Type.e_TypeAll 表示所有类型的图形对象。 默认值:foxit.pdf.graphics.GraphicsObject.Type.e_TypeAll 。 |
|
inline |
获取矩形与指定矩形相交的最顶层图形对象,使用指定的类型过滤器。
| [in] | rect | 指定的矩形,位于 中。 |
| [in] | filter | 类型过滤器,指定要获取哪种图形对象。 请参考从 foxit.pdf.graphics.GraphicsObject.Type.e_TypeAll 开始的值, 应该是这些值中的一个。 foxit.pdf.graphics.GraphicsObject.Type.e_TypeAll 表示所有类型的图形对象。 默认值:foxit.pdf.graphics.GraphicsObject.Type.e_TypeAll 。 |
|
inline |
获取设备坐标系统中指定点的所有图形对象,使用指定的类型过滤器。
| [in] | point | 指定位置,在设备坐标系统中。 |
| [in] | tolerance | 图形对象命中检测的容差值,以点为单位。它应该是正值。 |
| [in] | matrix | 转换矩阵。通常这是由函数 PDFPage.GetDisplayMatrix 返回的矩阵。 默认值:null。 |
| [in] | filter | 类型过滤器,指定要获取哪种图形对象。 请参考从 foxit.pdf.graphics.GraphicsObject.Type.e_TypeAll 开始的值, 应该是这些值中的一个。 foxit.pdf.graphics.GraphicsObject.Type.e_TypeAll 表示所有类型的图形对象。 默认值:foxit.pdf.graphics.GraphicsObject.Type.e_TypeAll 。 |
|
inline |
获取指定点的所有图形对象,使用指定的类型过滤器。
| [in] | point | 指定位置,在 中。 |
| [in] | tolerance | 图形对象命中检测的容差值,以点为单位。它应该是正值。 |
| [in] | filter | 指定要获取的图形对象类型的类型过滤器。 请参考从 foxit.pdf.graphics.GraphicsObject.Type.e_TypeAll 开始的值, 这应该是这些值中的一个。 foxit.pdf.graphics.GraphicsObject.Type.e_TypeAll 表示所有类型的图形对象。 默认值:foxit.pdf.graphics.GraphicsObject.Type.e_TypeAll 。 |
|
inline |
获取矩形与指定矩形相交的所有图形对象,使用指定的类型过滤器。
| [in] | rect | 指定的矩形,位于 中。 |
| [in] | filter | 类型过滤器,指定要获取哪种图形对象。 请参考从 foxit.pdf.graphics.GraphicsObject.Type.e_TypeAll 开始的值, 应该是这些值中的一个。 foxit.pdf.graphics.GraphicsObject.Type.e_TypeAll 表示所有类型的图形对象。 默认值:foxit.pdf.graphics.GraphicsObject.Type.e_TypeAll 。 |
|
inline |
获取页面高度(单位是1/72英寸)。
|
inline |
获取页面索引。
|
inline |
获取指定属性的 PDF 对象,该属性可能从页面树中的祖先节点继承。
某些页面属性被指定为可继承的,如"Resources"、"MediaBox"、"CropBox" 和"Rotate"。更多详情请参考 <PDF Reference 1.7> P145 中的"TABLE 3.27 Entries in a page object" 和 <PDF Reference 1.7> P149 中的"Inheritance of Page Attributes"。
| [in] | attruibute_name | 要查找的属性名称。 |
|
inline |
获取"Resources"的 PDF 字典。
|
inline |
获取页面旋转。
|
inline |
基于渲染结果位图为点(位于 )获取建议的矩形(位于 )。
此函数可以帮助用户在指定点周围定位矩形区域(作为建议矩形)。当检索到有效的建议矩形时, 用户可以使用该矩形向 PDF 页面添加内容,例如新的注释、新的表单字段、新的签名等。
点的建议矩形是指包含指定点的矩形,并且可以在指定点周围的空白位置尽可能大地绘制。 但是,如果从该点向左/右/上/下任何方向直接到达输入位图边缘,则无法检索到建议矩形。
此函数不支持 Rbg565 位图。如果输入位图是 Rbg565 位图,此函数将直接返回空矩形。
| [in] | render_result | 作为渲染当前 PDF 页面结果的位图。这应该是有效的位图对象。 |
| [in] | render_matrix | 用于渲染当前 PDF 页面并生成参数 render_result 作为渲染结果的变换矩阵。 |
| [in] | point | 要为其查找建议矩形的点(位于 )。 |
|
inline |
获取"Thumb"的 PDF 流。
|
inline |
获取用户单位。
一个正数,给出默认用户空间单位的大小,以1/72英寸的倍数表示。 支持值的范围取决于实现。
|
inline |
获取页面宽度(单位是1/72英寸)。
|
inline |
检查当前PDF页面是否具有透明度。
在使用此函数之前,请确保当前页面已被解析。
|
inline |
检查当前页面是否有水印(不包括Foxit PDF SDK试用水印)。
在使用此函数之前,请确保当前页面已被解析。
|
inline |
检查当前页面是否已被解析。
|
inline |
检查当前PDF页面是否为扫描页面。
在使用此函数之前,请确保当前页面已被解析。
|
inline |
加载缩略图位图。
|
inline |
将指定注释更改为所有注释中的第一个。
在PDF页面中,所有注释都在注释列表中管理。在注释列表中, 具有较小索引(位于列表前部)的注释将首先绘制到页面上, 具有较大索引(位于列表后部)的注释将稍后绘制到页面上。 因此,在页面中,如果一个注释在z顺序中显示在其他注释之上,这意味着 它的索引比注释列表中的其他注释更大。
此函数用于将注释从当前索引位置移动到注释列表中的第一个位置, 以便在显示时将注释移动到z顺序的底部。
| [in] | annot | 要移动到第一位的注释对象。它应该在当前PDF页面中。 |
|
inline |
将指定注释更改为所有注释中的最后一个。
在PDF页面中,所有注释都在注释列表中管理。在注释列表中, 具有较小索引(位于列表前部)的注释将首先绘制到页面上, 具有较大索引(位于列表后部)的注释将稍后绘制到页面上。 因此,在页面中,如果一个注释在z顺序中显示在其他注释之上,这意味着 它的索引比注释列表中的其他注释更大。
此函数用于将注释从当前索引位置移动到注释列表中的最后位置, 以便在显示时将注释移动到z顺序的顶部。
| [in] | annot | 要移动到最后位的注释对象。它应该在当前PDF页面中。 |
|
inline |
交换当前注释与其下一个注释的索引。
在PDF页面中,所有注释都在注释列表中管理。在注释列表中, 具有较小索引(位于列表前部)的注释将首先绘制到页面上, 具有较大索引(位于列表后部)的注释将稍后绘制到页面上。 因此,在页面中,如果一个注释在z顺序中显示在其他注释之上,这意味着 它的索引比注释列表中的其他注释更大。
此函数用于交换当前注释与其下一个注释的索引位置 在注释列表中,以便在显示时将注释移动到z顺序中的较高级别。
| [in] | annot | 要移动的注释对象。它应该在当前PDF页面中。 |
|
inline |
交换当前注释与其前一个注释的索引。
在PDF页面中,所有注释都在注释列表中管理。在注释列表中, 具有较小索引(位于列表前部)的注释将首先绘制到页面上, 具有较大索引(位于列表后部)的注释将稍后绘制到页面上。 因此,在页面中,如果一个注释在z顺序中显示在其他注释之上,这意味着 它的索引比注释列表中的其他注释更大。
此函数用于交换当前注释与其前一个注释的索引位置 在注释列表中,以便在显示时将注释移动到z顺序中的较低级别。
| [in] | annot | 要移动的注释对象。它应该在当前PDF页面中。 |
|
inline |
通过撤销任何旋转并移除到页面"CropBox"的偏移来转换当前PDF页面。
|
inline |
移除所有水印。
在使用此函数之前,请确保当前页面已被解析。
|
inline |
移除注释。
此函数可以移除任何通过获取函数或添加函数返回的注释。
但对于控件注释,此函数只能移除独立的控件注释。 如果控件注释与表单字段关联,此函数无法移除它并且 会抛出异常foxit.common.ErrorCode.e_ErrUnsupported 。
对于与表单字段关联的控件注释,请调用函数 interform.Form.RemoveControl 来移除它及其关联的表单控件。
| [in] | annot | 要移除的注释对象。它应该在当前PDF页面中。 |
|
inline |
将所有输入的标记注释组合在一起。
标记注释可以被分组。组由一个主注释和一个或 多个从属注释组成。主注释中的某些条目被视为组属性, 应该适用于整个组;从属注释中相应的条目 应该被忽略。这些条目包括内容、最后修改时间、填充颜色/边框颜色、 标题、弹出注释、创建时间、主题和打开状态。因此用户应该 尊重组属性:当组中注释的属性被更改时, 同一组中的其他注释也应该被更改。
操作组中任何注释的操作,如移动、剪切和复制,应该被 查看器应用程序视为作用于整个组。
| [in] | annot_array | 一个标记对象数组,指定要 组合在一起的标记注释。此数组应至少包含 2个标记注释,并且此数组中的所有标记注释应该 彼此不同。此数组中的所有标记注释应该 在当前页面中。 特别地,如果此数组中的标记注释已经在另一个组中, 该组将被设置为具有新标题的新组。 |
| [in] | header_index | 指定参数 annot_array 中标记注释的索引, 作为组的标题。有效范围:从 0 到 (annot_count -1)。 |
|
inline |
设置页面框。
| [in] | box_type | 页面框类型。请参考从 foxit.pdf.PDFPage.BoxType.e_MediaBox 开始的值, 这应该是这些值中的一个。 |
| [in] | box | 新的框矩形,在 中。 |
|
inline |
为当前PDF页面上的所有图形对象设置剪切矩形。
此函数成功完成后,请通过函数 PDFPage.StartParse 重新解析当前页面,参数 is_reparse 为 true。
| [in] | clip_rect | 新的剪切矩形,在 中。 |
|
inline |
设置页面旋转。
| [in] | rotate | 新的页面旋转值。请参考从 foxit.common.Rotation.e_Rotation0 开始的值, 这应该是这些值中的一个,除了 foxit.common.Rotation.e_RotationUnknown 。 |
|
inline |
设置页面宽度和高度。
当改变页面宽度/高度时,Foxit PDF SDK总是按以下方式操作:
首先,选择"页面旋转为0"作为基准页面状态,选择 页面的左下角(页面旋转为0时)作为基准点。 然后,总是改变顶部页面边界和右侧页面边界的位置 (页面旋转为0时)来改变页面大小。
| [in] | width | 新的页面宽度。它应该是正值,单位是1/72英寸。 |
| [in] | height | 新的页面高度。它应该是正值,单位是1/72英寸。 |
|
inline |
设置页面大小类型。
当改变页面大小时,Foxit PDF SDK总是按以下方式操作:
首先,选择"页面旋转为0"作为基准页面状态,选择 页面的左下角(页面旋转为0时)作为基准点。 然后,总是改变顶部页面边界和右侧页面边界的位置 (页面旋转为0时)来改变页面大小。
| [in] | size | 指定当前页面新大小的大小类型。请参考从 foxit.pdf.PDFPage.Size.e_SizeLetter 开始的值,这应该是这些值中的一个。 |
|
inline |
设置页面缩略图。
缩略图位图不使用alpha通道。因此建议用户设置 没有alpha通道的位图作为新缩略图。如果设置了带有alpha通道的位图, 新缩略图默认将使用白色背景。 目前,此函数不支持格式为 foxit.common.Bitmap.DIBFormat.e_DIBRgb565 的位图。
| [in] | thumbnail | 新的页面缩略图。它应该是有效的位图。 |
|
inline |
设置用户单位。
一个正数,给出默认用户空间单位的大小,以1/72英寸的倍数表示。 支持值的范围取决于实现。如果未设置, Foxit PDF SDK将使用默认值1.0(用户单位为1/72英寸)。
| [in] | user_unit | 一个正数,给出默认用户空间单位的大小,以1/72英寸的倍数表示。 |
|
inline |
分割文本对象,这些对象的矩形(在中)与指定的矩形 (在中)相交,并根据split_step进一步分割相交部分。
此函数根据split_step分割与指定矩形相交的文本对象。 当文本对象与指定矩形相交时,相交部分将根据split_step被分为一个或多个 文本对象。同样,对于只部分与指定矩形相交的文本对象, 它们的非相交部分将被分离出来并作为单独的文本对象处理。如果split_step大于0, 与指定矩形相交的文本对象部分将被分割为几个文本对象。具体来说,每个新的 文本对象将对应指定矩形中的一个段,每个段中的单词数由 split_step定义。如果相交部分中剩余的单词数少于split_step,那些剩余的 单词将被组合成一个文本对象。如果 split_step 为 0,则与指定矩形相交的文本对象的 相交部分将不再进一步分割,将被组合成一个文本对象。
| [in] | rect | 指定的矩形,位于 中。 |
| [in] | split_step | 用于分割与指定矩形相交的文本对象的单词数。 此值不能为负数。值为 0 表示与指定矩形相交的文本对象将不再 进一步分割,将被组合成一个文本对象。 |
|
inline |
开始解析当前页面。
解析PDF页面可能需要很长时间,因此Foxit PDF SDK使用渐进式过程来执行此操作。 页面内容的所有资源将在PDF页面解析后加载。
用户可以在不解析页面的情况下获取页面或注释的字典,但要执行 与页面内容相关的操作,请首先解析页面。
| [in] | flags | 解析标志。请参考从foxit.pdf.PDFPage.ParseFlags.e_ParsePageNormal 开始的值, 这应该是这些值中的一个或这些值的组合。 默认值:foxit.pdf.PDFPage.ParseFlags.e_ParsePageNormal 。 |
| [in] | pause | 暂停回调对象,决定解析过程是否需要暂停。 这可以是null,表示在解析过程中不暂停。 如果这不是null,它应该是用户实现的有效暂停对象。 默认值:null。 |
| [in] | is_reparse | true表示重新解析当前页面,false表示不 重新解析当前页面。默认值:false。 |
|
inline |
转换PDF页面,包括页面上的注释和表单字段。
| [in] | matrix | 转换矩阵。 |
| [in] | need_transform_clip_path | true表示转换页面时包含剪切矩形, false表示不包含。 |
| [in] | need_transform_annotations | true表示转换页面时包含注释, false表示不包含。 |
|
inline |
更新注释列表。
如果通过直接更改"Annots"字典项来修改(添加/删除...)任何注释, 请在更改后调用此函数来更新注释列表。