Foxit PDF SDK
FSDK::PDFPage类 参考
类 FSDK::PDFPage 继承关系图:
FSDK::GraphicsObjects

Public 成员函数

 AddAnnot (type, rect)
 向当前 PDF 页面添加注释。 更多...
 
 AddAnnot (annot_dict)
 向当前 PDF 页面添加注释(通过有效的注释字典)。 更多...
 
 AddImage (image, frame_index, position, width, height, auto_generate_content)
 向当前页面添加图像。 更多...
 
 AddImageFromFilePath (file_path, position, width, height, auto_generate_content)
 从文件路径向当前页面添加图像。 更多...
 
 AddSignature (rect)
 向 PDF 页面添加普通签名。 更多...
 
 AddSignature (rect, field_name)
 向 PDF 页面添加普通签名。 更多...
 
 AddSignature (rect, field_name, signature_type, to_check_permission)
 向 PDF 页面添加签名。 更多...
 
 AddSignatureWithExistedVDict (rect, field_name, signature_type, to_check_permission, existed_signature)
 使用特定签名中已存在的“V”字典向 PDF 页面添加签名。 更多...
 
 AddText (text, rect, style, matrix, is_each_text, disable_embed_font)
 向当前页面添加文本。 更多...
 
 AddText (text, rect, style, rotation, rotate_point, disable_embed_font)
 向当前页面添加文本。 更多...
 
 CalcContentBBox (mode)
 计算 PDF 页面的内容区域。 更多...
 
 CalculateNewRectForText (text, rect, style, rotation, rotate_point, disable_embed_font)
 计算新文本矩形。 更多...
 
 ClearRenderCache ()
 清除渲染缓存。 更多...
 
 constructor (document, page_dict)
 从一个代表 PDF 页面的 PDF 字典和包含该字典的 PDF 文档构造对象。 更多...
 
 Flatten (for_display, options)
 展平当前 PDF 页面:根据指定的选项,注释或表单字段可能会成为页面内容的一部分。 更多...
 
 FlattenAnnot (annot)
 展平注释:将注释成为页面内容的一部分,然后将其移除。 更多...
 
 GetAnnot (index)
 通过索引获取注释。 更多...
 
 GetAnnotAtDevicePoint (position, tolerance, matrix)
 在指定位置获取注释,使用设备坐标系。 更多...
 
 GetAnnotAtPoint (position, tolerance)
 在指定位置获取注释,使用 PDF 坐标系更多...
 
 GetAnnotCount ()
 获取注释的数量。 更多...
 
 GetAnnots ()
 获取 "Annots" 的 PDF 数组。 更多...
 
 GetAnnotsAtDevicePoint (position, tolerance, matrix)
 在指定位置获取所有注释,使用设备坐标系。 更多...
 
 GetAnnotsAtPoint (position, tolerance)
 在指定位置获取所有注释,使用 PDF 坐标系更多...
 
 GetBox (box_type)
 获取页面框。 更多...
 
 GetContents ()
 获取 "Contents" 的 PDF 对象。 更多...
 
 GetDict ()
 获取页面字典。 更多...
 
 GetDisplayMatrix (left, top, width, height, rotate)
 获取 PDF 页面的显示矩阵,从 PDF 坐标系 到目标设备坐标系。 更多...
 
 GetDocument ()
 获取当前 PDF 页面所属的 PDF 文档。 更多...
 
 GetGraphicsObjectAtDevicePoint (point, tolerance, matrix, filter)
 获取设备坐标系中指定点处最顶层的图形对象,使用指定的类型过滤器。 更多...
 
 GetGraphicsObjectAtPoint (point, tolerance, filter)
 获取指定点处最顶层的图形对象,使用指定的类型过滤器。 更多...
 
 GetGraphicsObjectAtRectangle (rect, filter)
 获取矩形与指定矩形相交的最顶层图形对象,使用指定的类型过滤器。 更多...
 
 GetGraphicsObjectsAtDevicePoint (point, tolerance, matrix, filter)
 获取设备坐标系中指定点处的所有图形对象,使用指定的类型过滤器。 更多...
 
 GetGraphicsObjectsAtPoint (point, tolerance, filter)
 获取指定点处的所有图形对象,使用指定的类型过滤器。 更多...
 
 GetGraphicsObjectsAtRectangle (rect, filter)
 获取矩形与指定矩形相交的所有图形对象,使用指定的类型过滤器。 更多...
 
 GetHeight ()
 获取页面高度(单位为 1/72 英寸)。 更多...
 
 GetIndex ()
 获取页面索引。 更多...
 
 GetInheritedAttribute (attruibute_name)
 获取指定属性的 PDF 对象,该属性可能从页面树中的祖先节点继承。 更多...
 
 GetResources ()
 获取 "Resources" 的 PDF 字典。 更多...
 
 GetRotation ()
 获取页面旋转。 更多...
 
 GetSuggestedRect (render_result, render_matrix, point)
 根据渲染结果位图获取点(在 PDF 坐标系 中)的建议矩形(在 PDF 坐标系 中)。 更多...
 
 GetThumb ()
 获取 "Thumb" 的 PDF 流。 更多...
 
 GetUserUnitSize ()
 获取用户单位。 更多...
 
 GetWidth ()
 获取页面宽度(单位为 1/72 英寸)。 更多...
 
 HasTransparency ()
 检查当前 PDF 页面是否具有透明度。 更多...
 
 HasWatermark ()
 检查当前页面是否有水印(不包括 Foxit PDF SDK 试用水印)。 更多...
 
 IsParsed ()
 检查当前页面是否已被解析。 更多...
 
 LoadThumbnail ()
 加载缩略图位图。 更多...
 
 MoveAnnotToLast (annot)
 将指定的注释更改为所有注释中的最后一个。 更多...
 
 MoveAnnotToNext (annot)
 交换当前注释和其后一个注释的索引。 更多...
 
 MoveAnnotToPrev (annot)
 交换当前注释和其前一个注释的索引。 更多...
 
 Normalize ()
 通过撤销任何旋转并移除页面"CropBox"的偏移来转换当前 PDF 页面。 更多...
 
 RemoveAllWatermarks ()
 移除所有水印。 更多...
 
 RemoveAnnot (annot) MoveAnnotToFirst(annot)
 移除注释。 更多...
 
 SetAnnotGroup (annot_array, header_index)
 将所有输入的标记注释组合在一起。 更多...
 
 SetBox (box_type, box)
 设置页面框。 更多...
 
 SetClipRect (clip_rect)
 为当前 PDF 页面上的所有图形对象设置裁剪矩形。 更多...
 
 SetRotation (rotate)
 设置页面旋转。 更多...
 
 SetSize (width, height)
 设置页面宽度和高度。 更多...
 
 SetSize (size)
 设置页面尺寸类型。 更多...
 
 SetThumbnail (thumbnail)
 设置页面缩略图。 更多...
 
 SetUserUnitSize (user_unit)
 设置用户单位。 更多...
 
 SplitTextsInRectangle (rect, split_step)
 拆分矩形(在 PDF 坐标系 中)与指定矩形(在 PDF 坐标系 中)相交的文本对象, 并根据 split_step 进一步拆分相交部分。 更多...
 
 StartParse (flags, pause, is_reparse)
 开始解析当前页面。 更多...
 
 Transform (matrix, need_transform_clip_path, need_transform_annotations)
 转换 PDF 页面,包括页面上的注释和表单字段。 更多...
 
 UpdateAnnotList ()
 更新注释列表。 更多...
 
- Public 成员函数 继承自 FSDK::GraphicsObjects
 GenerateContent ()
 生成当前图形对象的内容。 更多...
 
 GenerateContent (text_merge_option)
 生成当前图形对象的内容。 更多...
 
 GetFirstGraphicsObjectPosition (filter)
 基于类型过滤器获取图形对象列表中第一个图形对象的位置。 更多...
 
 GetGraphicsObject (position)
 通过图形对象列表中的位置获取图形对象。 更多...
 
 GetGraphicsObject (index)
 通过索引获取图形对象。 更多...
 
 GetGraphicsObjectCount ()
 获取图形对象列表中图形对象的数量。 更多...
 
 GetGraphicsObjectIndex (graphics_object)
 获取图形对象列表中指定图形对象的索引。 更多...
 
 GetGraphicsObjectPosition (graphics_object)
 获取指定图形对象的位置。 更多...
 
 GetLastGraphicsObjectPosition (filter)
 基于类型过滤器获取图形对象列表中最后一个图形对象的位置。 更多...
 
 GetNextGraphicsObjectPosition (position, filter)
 基于类型过滤器和指定的当前位置,获取图形对象列表中下一个图形对象的位置。 更多...
 
 GetPrevGraphicsObjectPosition (position, filter)
 基于类型过滤器和指定的当前位置,获取图形对象列表中前一个图形对象的位置。 更多...
 
 InsertGraphicsObject (position_insert_after, graphics_object)
 在指定位置后插入图形对象。 更多...
 
 IsEmpty ()
 检查当前对象是否为空。 更多...
 
 MoveGraphicsObjectByPosition (current_position, position_move_after)
 将图形对象从一个位置移动到另一个位置。 更多...
 
 RemoveGraphicsObject (graphics_object)
 删除图形对象。 更多...
 
 RemoveGraphicsObjectByPosition (position)
 通过位置删除图形对象。 更多...
 

Public 属性

 e_FlattenAll
 展平选项的枚举。 更多...
 
 e_FlattenNoAnnot
 展平 PDF 页面但不包括注释。
 

静态 Public 属性

static e_ArtBox
 页面边界的艺术框。 更多...
 
static e_BleedBox
 页面边界的出血框。 更多...
 
static e_CalcContentsBox
 计算边距模式的枚举。 更多...
 
static e_CalcDetection
 通过检测路径或图像来计算边距。
 
static e_CropBox
 页面边界的裁剪框。 更多...
 
static e_MediaBox
 展平 PDF 页面但不包括表单控件。 更多...
 
static e_ParsePageNormal
 PDF 页面使用的解析标志枚举。 更多...
 
static e_ParsePageTextOnly
 纯文本模式的解析标志。
 
static e_SizeA2
 页面大小: A2。
 
static e_SizeA3
 页面大小: A3。
 
static e_SizeA4
 页面大小: A4。
 
static e_SizeA5
 页面大小: A5。
 
static e_SizeA6
 页面大小: A6。
 
static e_SizeB2
 页面大小: B2。
 
static e_SizeB3
 页面大小: B3。
 
static e_SizeB4
 页面大小: B4。
 
static e_SizeB5
 页面大小: B5。
 
static e_SizeB6
 页面大小: B6。
 
static e_SizeLegal
 页面大小: legal。
 
static e_SizeLetter
 页面大小类型的枚举。 更多...
 
static e_TrimBox
 页面边界的修剪框。 更多...
 
- 静态 Public 属性 继承自 FSDK::GraphicsObjects
static e_TextMergeBTET
 将连续的 BTET 合并为一个新的。 更多...
 
static e_TextMergeNone
 文本合并的枚举。 更多...
 
static e_TextMergeTJY
 合并具有相同 y 坐标的连续文本显示运算符。
 

详细描述

PDF 页面在 PDF 坐标系 中定义,该坐标系使用页面的左下角作为 原点 (0, 0)。
通常,PDF 页面对象通过函数 FSDK.PDFDoc.GetPage 从 PDF 文档中检索。 在大多数情况下,PDF 页面应首先被解析然后使用。函数 FSDK.PDFPage.IsParsed 可用于 判断 PDF 页面是否已被解析。对于未解析的页面,请使用函数 FSDK.PDFPage.StartParse 来解析它。
此类提供了获取/设置 PDF 页面数据的函数,例如页面宽度/高度、页面旋转、 显示矩阵等。此外,此类还提供检索 PDF 注释的函数:

FSDK.PDFPage 派生自类 FSDK.GraphicsObjects,因此 PDFPage 类也提供 检索 PDF 图形对象的函数:

此类对象还可用于构造其他类的对象,以便访问 PDF 页面中的指定信息:

  • 要访问 PDF 页面中的文本内容,请使用 PDF 页面对象构造 FSDK.TextPage
  • 要进行重排,请使用 PDF 页面对象构造 FSDK.ReflowPage
  • 要访问附加动作,请使用 PDF 页面对象构造 FSDK.AdditionalAction 对象。
  • 要管理 PDF 页面中注释的 Tab 顺序,请使用 PDF 页面对象构造 FSDK.TabOrderMgr
参见
FSDK.PDFDoc
FSDK.GraphicsObjects
FSDK.TextPage
FSDK.ReflowPage
FSDK.AdditionalAction
FSDK.TabOrderMgr

成员函数说明

◆ AddAnnot() [1/2]

FSDK::PDFPage::AddAnnot ( type  ,
rect   
)

向当前 PDF 页面添加注释。

目前,此函数可以支持添加大多数注释类型,但以下类型除外:
Widget、Sound、Movie、PrinterMark、TrapNet、Watermark、3D、PSInk、Redact。
注意:

  • Widget 注释用于表示表单字段的外观,包括签名字段:
    对于签名字段,可以调用函数 FSDK.PDFPage.AddSignature 添加新的签名对象。
    对于其他类型的表单字段,可以调用函数 FSDK.Form.AddControl 添加新的表单字段(带有表单控件)。
  • PSInk 注释应通过函数 从 PSI 对象转换而来。
  • Redact 注释应通过函数 FSDK.Redaction.MarkRedactAnnot 添加以标记 PDF 页面中的区域。
  • 对于支持的注释类型,如果用户未设置新创建注释的任何属性 (必需属性除外)并直接调用函数 FSDK.Annot.ResetAppearanceStream,将使用默认外观。请参考 具体注释类的注释以了解其自身默认外观的更多详细信息。
参数
[in]type要添加的注释类型。请参考从 FSDK.Annot.e_Note 开始的值,应为这些值之一, 但不包括 FSDK.Annot.e_PSInkFSDK.Annot.e_SoundFSDK.Annot.e_MovieFSDK.Annot.e_WidgetFSDK.Annot.e_PrinterMarkFSDK.Annot.e_TrapNetFSDK.Annot.e_WatermarkFSDK.Annot.e_3D
[in]rect新注释的矩形。
返回
新创建的注释对象。

◆ AddAnnot() [2/2]

FSDK::PDFPage::AddAnnot ( annot_dict  )

向当前 PDF 页面添加注释(通过有效的注释字典)。

参数
[in]annot_dict一个有效的注释字典,将作为注释添加到当前 PDF 页面。
返回
新创建的注释对象。

◆ AddImage()

FSDK::PDFPage::AddImage ( image  ,
frame_index  ,
position  ,
width  ,
height  ,
auto_generate_content   
)

向当前页面添加图像。

如果图像类型为 FSDK.Image.e_JPG, 应保持图像有效,直到相关文档关闭。

参数
[in]image一个图像。其中一个帧将被设置到当前页面。 此图像至少包含一个帧,且图像类型不应为 FSDK.Image.e_Unknown
[in]frame_index帧索引。有效范围:从 0 到 (count-1)。 count 由函数 FSDK.Image.GetFrameCount 返回。
[in]position指定的位置,作为图像对象的左下角,采用 PDF 坐标系
[in]width用于设置到页面的图像宽度(单位为 1/72 英寸)。 值应大于 0。
[in]height用于设置到页面的图像高度(单位为 1/72 英寸)。 值应大于 0。
[in]auto_generate_contenttrue 表示在内部生成内容。
使用 false 时,用户应确保在添加图像后调用函数 FSDK.GraphicsObjects.GenerateContent。 请参考函数 FSDK.GraphicsObjects.GenerateContent 以获取更多详细信息。默认值: true
返回
true 表示成功,false 表示失败。

◆ AddImageFromFilePath()

FSDK::PDFPage::AddImageFromFilePath ( file_path  ,
position  ,
width  ,
height  ,
auto_generate_content   
)

从文件路径向当前页面添加图像。

如果输入图像(由文件路径指定)有多个帧,默认只会将第一帧添加到 当前页面。

参数
[in]file_path现有图像文件的完整路径。不应为空字符串。
[in]position指定的位置,作为图像对象的左下角,采用 PDF 坐标系
[in]width用于设置到页面的图像宽度。 值应大于 0。
[in]height用于设置到页面的图像高度。 值应大于 0。
[in]auto_generate_contenttrue 表示在内部生成内容。
使用 false 时,用户应确保在添加图像后调用函数 FSDK.GraphicsObjects.GenerateContent。 请参考函数 FSDK.GraphicsObjects.GenerateContent 以获取更多详细信息。默认值: true
返回
true 表示成功,false 表示失败。

◆ AddSignature() [1/3]

FSDK::PDFPage::AddSignature ( rect  )

向 PDF 页面添加普通签名。

对于新的普通签名,其过滤器默认为 "Adobe.PPKLite",子过滤器默认为 "adbe.pkcs7.detached"。 有关签名的过滤器和子过滤器的更多详细信息,请参考类 FSDK.Signature
在签署新签名之前,用户还可以调用类 FSDK.Signature 的设置函数 来设置用于签署和签名外观的其他信息。

参数
[in]rect新签名的矩形位置,使用 PDF 坐标系。 应为 PDF 坐标系 中的有效矩形。
返回
新添加的签名对象。

◆ AddSignature() [2/3]

FSDK::PDFPage::AddSignature ( rect  ,
field_name   
)

向 PDF 页面添加普通签名。

对于新的普通签名,其过滤器默认为 "Adobe.PPKLite",子过滤器默认为 "adbe.pkcs7.detached"。 有关签名的过滤器和子过滤器的更多详细信息,请参考类 FSDK.Signature
在签署新签名之前,用户还可以调用类 FSDK.Signature 的设置函数 来设置用于签署和签名外观的其他信息。

参数
[in]rect新签名的矩形位置,使用 PDF 坐标系。 应为 PDF 坐标系 中的有效矩形。
[in]field_name签名字段名称。可以是空字符串。
返回
新添加的签名对象。

◆ AddSignature() [3/3]

FSDK::PDFPage::AddSignature ( rect  ,
field_name  ,
signature_type  ,
to_check_permission   
)

向 PDF 页面添加签名。

对于新的普通签名,其过滤器默认为 "Adobe.PPKLite",子过滤器默认为 "adbe.pkcs7.detached"。 对于新的时间戳签名,其过滤器默认为 "Adobe.PPKLite",子过滤器默认为 "ETSI.RFC3161"。 有关签名的过滤器和子过滤器的更多详细信息,请参考类 FSDK.Signature
在签署新签名之前,用户还可以调用类 FSDK.Signature 的设置函数 来设置用于签署和签名外观的其他信息。

参数
[in]rect新签名的矩形位置,使用 PDF 坐标系。 如果参数 signature_typeFSDK.Signature.e_SignatureTypeTimeStamp, 此矩形将被忽略;否则,这应为 PDF 坐标系 中的有效矩形。
[in]field_name签名字段名称。可以是空字符串。
[in]signature_type签名类型。请参考从 FSDK.Signature.e_SignatureTypeOrdinary 开始的值, 应为这些值之一。
[in]to_check_permission一个布尔值,用于决定 Foxit PDF SDK 是否应在添加签名之前检查 PDF 文档的权限: true 表示 Foxit PDF SDK 应检查文档权限以决定是否允许添加签名, 而 false 表示 Foxit PDF SDK 不应在添加签名之前检查文档权限。 当此参数为 false 时,用户应确保检查文档权限以检查是否允许添加签名。 默认值:true
返回
新添加的签名对象。

◆ AddSignatureWithExistedVDict()

FSDK::PDFPage::AddSignatureWithExistedVDict ( rect  ,
field_name  ,
signature_type  ,
to_check_permission  ,
existed_signature   
)

使用特定签名中已存在的“V”字典向 PDF 页面添加签名。

对于新的普通签名,其过滤器默认为 "Adobe.PPKLite",子过滤器默认为 "adbe.pkcs7.detached"。 对于新的时间戳签名,其过滤器默认为 "Adobe.PPKLite",子过滤器默认为 "ETSI.RFC3161"。 有关签名的过滤器和子过滤器的更多详细信息,请参考类 FSDK.Signature
在签署新签名之前,用户还可以调用类 FSDK.Signature 的设置函数 来设置用于签署和签名外观的其他信息。 共享 V 字典后,对与 V 字典相关的条目的任何更改都将同时 影响所有共享 V 字典的签名的签名外观。

参数
[in]rect新签名的矩形位置,使用 PDF 坐标系。 如果参数 signature_typeFSDK.Signature.e_SignatureTypeTimeStamp, 此矩形将被忽略;否则,这应为 PDF 坐标系 中的有效矩形。
[in]field_name签名字段名称。可以是空字符串。
[in]signature_type签名类型。请参考从 FSDK.Signature.e_SignatureTypeOrdinary 开始的值, 应为这些值之一。
[in]to_check_permission一个布尔值,用于决定 Foxit PDF SDK 是否应在添加签名之前检查 PDF 文档的权限: true 表示 Foxit PDF SDK 应检查文档权限以决定是否允许添加签名, 而 false 表示 Foxit PDF SDK 不应在添加签名之前检查文档权限。 当此参数为 false 时,用户应确保检查文档权限以检查是否允许添加签名。 默认值:true
[in]existed_signature其“V”字典将在新添加的签名中使用的签名。
返回
新添加的签名对象。

◆ AddText() [1/2]

FSDK::PDFPage::AddText ( text  ,
rect  ,
style  ,
matrix  ,
is_each_text  ,
disable_embed_font   
)

向当前页面添加文本。

如果文本太长不适合矩形,文本将自动换行。

参数
[in]text新文本字符串的内容。不应为空字符串。
[in]rect框矩形,使用 PDF 坐标系
[in]style用于新文本字符串的样式数据。
[in]matrix用于添加文本块的转换矩阵。
[in]is_each_text一个布尔值,指示是否对文本块中的每个文本对象单独应用转换矩阵。 true 表示为每个文本对象使用单独的矩阵, 而 false 表示为整个文本块使用相同的矩阵。
[in]disable_embed_font一个布尔值,指示是否禁用嵌入字体。 true 表示禁用嵌入字体,而 false 表示不禁用。
返回
true 表示成功,而 false 表示失败。
注解
当此函数成功时,应调用函数 FSDK.GraphicsObjects.GenerateContent。 有关更多详细信息,请参考函数 FSDK.GraphicsObjects.GenerateContent

◆ AddText() [2/2]

FSDK::PDFPage::AddText ( text  ,
rect  ,
style  ,
rotation  ,
rotate_point  ,
disable_embed_font   
)

向当前页面添加文本。

如果文本太长不适合矩形,文本将自动换行。

参数
[in]text新文本字符串的内容。不应为空字符串。
[in]rect框矩形,使用 PDF 坐标系
[in]style用于新文本字符串的样式数据。
[in]rotation新文本字符串的旋转值。
[in]rotate_point旋转参考点。请参考从 FSDK.e_RotationPointCenter 开始的值, 应为这些值之一。
[in]disable_embed_font一个布尔值,指示是否禁用嵌入字体。 true 表示禁用嵌入字体,而 false 表示不禁用。
返回
文本块内容的矩形。
注解
当此函数成功时,应调用函数 FSDK.GraphicsObjects.GenerateContent。 有关更多详细信息,请参考函数 FSDK.GraphicsObjects.GenerateContent

◆ CalcContentBBox()

FSDK::PDFPage::CalcContentBBox ( mode  )

计算 PDF 页面的内容区域。

在使用此函数之前,请确保当前页面已被解析。

参数
[in]mode计算模式。应该是以下值之一:
返回
包含可见页面内容的最小矩形。

◆ CalculateNewRectForText()

FSDK::PDFPage::CalculateNewRectForText ( text  ,
rect  ,
style  ,
rotation  ,
rotate_point  ,
disable_embed_font   
)

计算新文本矩形。

如果文本太长不适合矩形,文本将自动换行。

参数
[in]text新文本字符串的内容。不应为空字符串。
[in]rect框矩形,使用 PDF 坐标系
[in]style用于新文本字符串的样式数据。
[in]rotation新文本字符串的旋转值。
[in]rotate_point旋转参考点。请参考从 FSDK.e_RotationPointCenter 开始的值, 应为这些值之一。
[in]disable_embed_font一个布尔值,指示是否禁用嵌入字体。 true 表示禁用嵌入字体,而 false 表示不禁用。
返回
文本块内容的矩形。

◆ ClearRenderCache()

FSDK::PDFPage::ClearRenderCache ( )

清除渲染缓存。

返回
无。

◆ constructor()

FSDK::PDFPage::constructor ( document  ,
page_dict   
)

从一个代表 PDF 页面的 PDF 字典和包含该字典的 PDF 文档构造对象。

参数
[in]document一个有效的 PDF 文档。
[in]page_dict一个 PDF 页面的 PDF 字典。它应该属于参数 document 指定的 PDF 文档。

◆ Flatten()

FSDK::PDFPage::Flatten ( for_display  ,
options   
)

展平当前 PDF 页面:根据指定的选项,注释或表单字段可能会成为页面内容的一部分。

注释标志可以决定注释是否可以显示或是否可以打印。 这也会影响展平的结果:

  • 如果展平结果用于显示,则只有可以显示的注释 将被展平成为页面内容的一部分。
  • 如果展平结果用于打印,则只有可以打印的注释 将被展平成为页面内容的一部分。

表单字段的外观由 widget 注释表示,它是一种注释,在 Foxit PDF SDK 中被视为表单控件。 因此,当表单字段要被展平时,注释标志也会影响表单字段。 有关注释标志的更多详细信息,请参考从 FSDK.Annot.e_FlagInvisible 开始的值 以及 <PDF Reference 1.7> 中的第 8.4.2 节 "Annotation Flags"。
注释或表单字段被展平后,它将不再是注释或表单字段。 成功展平当前页面后,用户应通过函数 FSDK.PDFPage.StartParse 重新解析此页面。

参数
[in]for_display决定展平结果的用途: true 表示展平结果仅用于显示, false 表示展平结果仅用于打印。
[in]options展平选项。请参考从 FSDK.PDFPage.e_FlattenAll 开始的值, 应为这些值中的一个或组合。
特别地,如果同时使用 FSDK.PDFPage.e_FlattenNoAnnotFSDK.PDFPage.e_FlattenNoFormControl, 这意味着不会将任何内容展平到页面,此函数将直接返回 true。 默认值:FSDK.PDFPage.e_FlattenAll
返回
true 表示当前页面已成功展平,而 false 表示失败。

◆ FlattenAnnot()

FSDK::PDFPage::FlattenAnnot ( annot  )

展平注释:将注释成为页面内容的一部分,然后将其移除。

成功展平注释后,用户应通过函数 FSDK.PDFPage.StartParse 重新解析此页面。

参数
[in]annot要展平和移除的注释。
返回
true 表示成功,而 false 表示失败。

◆ GetAnnot()

FSDK::PDFPage::GetAnnot ( index  )

通过索引获取注释。

参数
[in]index注释索引。有效范围:从 0 到 (count-1)。 count 由函数 FSDK.PDFPage.GetAnnotCount 返回。
返回
一个注释对象。

◆ GetAnnotAtDevicePoint()

FSDK::PDFPage::GetAnnotAtDevicePoint ( position  ,
tolerance  ,
matrix   
)

在指定位置获取注释,使用设备坐标系。

如果在此指定位置有多个注释,此函数将始终返回最顶层的注释。 具有标志 FSDK.Annot.e_FlagNoViewFSDK.Annot.e_FlagHiddenFSDK.Annot.e_FlagInvisible 的注释不会被此函数检索。如果返回的注释具有标志 FSDK.Annot.e_FlagReadOnly,则无法修改。

参数
[in]position指定的位置,使用设备坐标系。
[in]tolerance容差值。有效范围:0.0f 到 30.0f。
[in]matrix变换矩阵。通常由函数 FSDK.PDFPage.GetDisplayMatrix 返回。 如果这是 null,当前函数将具有与函数 FSDK.PDFPage.GetAnnotAtPoint 相同的功能。 默认值:null
返回
一个注释对象。如果对返回的注释对象调用函数 FSDK.Annot.IsEmpty 的返回值为 true,则表示找不到 PDF 注释。

◆ GetAnnotAtPoint()

FSDK::PDFPage::GetAnnotAtPoint ( position  ,
tolerance   
)

在指定位置获取注释,使用 PDF 坐标系

如果在此指定位置有多个注释,此函数将始终返回最顶层的注释。 具有标志 FSDK.Annot.e_FlagNoViewFSDK.Annot.e_FlagHiddenFSDK.Annot.e_FlagInvisible 的注释不会被此函数检索。如果返回的注释具有标志 FSDK.Annot.e_FlagReadOnly,则无法修改。

参数
[in]position指定的位置,使用 PDF 坐标系
[in]tolerance容差值。有效范围:0.0f 到 30.0f。
返回
一个注释对象。如果对返回的注释对象调用函数 FSDK.Annot.IsEmpty 的返回值为 true,则表示找不到 PDF 注释。

◆ GetAnnotCount()

FSDK::PDFPage::GetAnnotCount ( )

获取注释的数量。

返回
注释的数量。

◆ GetAnnots()

FSDK::PDFPage::GetAnnots ( )

获取 "Annots" 的 PDF 数组。

注解
请参阅 <PDF Reference 1.7> 第 147 页中的 "TABLE 3.27 Entries in a page object" 以获取更多详细信息。
返回
"Annots" 的 PDF 数组。 如果没有 "Annots" 条目或发生任何错误,此函数将返回 null

◆ GetAnnotsAtDevicePoint()

FSDK::PDFPage::GetAnnotsAtDevicePoint ( position  ,
tolerance  ,
matrix   
)

在指定位置获取所有注释,使用设备坐标系。

在一个指定的位置,可能存在多个注释。 此函数可用于检索指定位置的所有这些注释。 具有标志 FSDK.Annot.e_FlagNoViewFSDK.Annot.e_FlagHiddenFSDK.Annot.e_FlagInvisible 的注释不会被此函数检索。
如果对返回的注释数组对象调用函数 FSDK.AnnotArray.GetAt 返回的注释对象 具有标志 FSDK.Annot.e_FlagReadOnly,则表示该注释无法修改。

参数
[in]position指定的位置,使用设备坐标系。
[in]tolerance容差值。有效范围:0.0f 到 30.0f。
[in]matrix变换矩阵。通常由函数 FSDK.PDFPage.GetDisplayMatrix 返回。 如果这是 null,当前函数将具有与函数 FSDK.PDFPage.GetAnnotAtPoint 相同的功能。 默认值:null
返回
注释数组。如果对返回的注释数组对象调用函数 FSDK.AnnotArray.GetSize 的返回值为 0,则表示找不到 PDF 注释。

◆ GetAnnotsAtPoint()

FSDK::PDFPage::GetAnnotsAtPoint ( position  ,
tolerance   
)

在指定位置获取所有注释,使用 PDF 坐标系

在一个指定的位置,可能存在多个注释。 此函数可用于检索指定位置的所有这些注释。 具有标志 FSDK.Annot.e_FlagNoViewFSDK.Annot.e_FlagHiddenFSDK.Annot.e_FlagInvisible 的注释不会被此函数检索。
如果对返回的注释数组对象调用函数 FSDK.AnnotArray.GetAt 返回的注释对象 具有标志 FSDK.Annot.e_FlagReadOnly,则表示该注释无法修改。

参数
[in]position指定的位置,使用 PDF 坐标系
[in]tolerance容差值。有效范围:0.0f 到 30.0f。
返回
注释数组。如果对返回的注释数组对象调用函数 FSDK.AnnotArray.GetSize 的返回值为 0,则表示找不到 PDF 注释。

◆ GetBox()

FSDK::PDFPage::GetBox ( box_type  )

获取页面框。

参数
[in]box_type页面框类型。请参考从 FSDK.PDFPage.e_MediaBox 开始的值, 应为这些值之一。
返回
框矩形,采用 PDF 坐标系

◆ GetContents()

FSDK::PDFPage::GetContents ( )

获取 "Contents" 的 PDF 对象。

注解
"Contents" 可以是 PDF 流或 PDF 数组。请参阅 <PDF Reference 1.7> 第 146 页中的 "TABLE 3.27 Entries in a page object" 以获取更多详细信息。
返回
"Contents" 的 PDF 对象。 如果没有 "Contents" 条目或发生任何错误,此函数将返回 null

◆ GetDict()

FSDK::PDFPage::GetDict ( )

获取页面字典。

返回
页面字典对象。如果有任何错误,此函数将返回 null

◆ GetDisplayMatrix()

FSDK::PDFPage::GetDisplayMatrix ( left  ,
top  ,
width  ,
height  ,
rotate   
)

获取 PDF 页面的显示矩阵,从 PDF 坐标系 到目标设备坐标系。

参数
[in]left在设备坐标系中变换区域的左侧位置,通常以像素为单位。
[in]top在设备坐标系中变换区域的顶部位置,通常以像素为单位。
[in]width在设备坐标系中变换区域的宽度,通常以像素为单位。
[in]height在设备坐标系中变换区域的高度,通常以像素为单位。
[in]rotate旋转值。请参考从 FSDK.e_Rotation0 开始的值, 这应该是这些值中的一个,除了 FSDK.e_RotationUnknown
返回
用于当前 PDF 页面的显示矩阵。

◆ GetDocument()

FSDK::PDFPage::GetDocument ( )

获取当前 PDF 页面所属的 PDF 文档。

返回
一个 PDF 文档对象。

◆ GetGraphicsObjectAtDevicePoint()

FSDK::PDFPage::GetGraphicsObjectAtDevicePoint ( point  ,
tolerance  ,
matrix  ,
filter   
)

获取设备坐标系中指定点处最顶层的图形对象,使用指定的类型过滤器。

参数
[in]point指定的位置,采用设备坐标系。
[in]tolerance图形对象命中检测的容差值,以点为单位。应为正值。
[in]matrix转换矩阵。通常由函数 FSDK.PDFPage.GetDisplayMatrix 返回。 默认值: null
[in]filter类型过滤器,指定要获取哪种图形对象。 请参考从 FSDK.GraphicsObject.e_TypeAll 开始的值, 应为这些值之一。 FSDK.GraphicsObject.e_TypeAll 表示所有类型的图形对象。 默认值: FSDK.GraphicsObject.e_TypeAll 。
返回
FSDK.GraphicsObject 对象。如果找不到图形对象,此函数将返回 null

◆ GetGraphicsObjectAtPoint()

FSDK::PDFPage::GetGraphicsObjectAtPoint ( point  ,
tolerance  ,
filter   
)

获取指定点处最顶层的图形对象,使用指定的类型过滤器。

参数
[in]point指定的位置,采用 PDF 坐标系
[in]tolerance图形对象命中检测的容差值,以点为单位。应为正值。
[in]filter类型过滤器,指定要获取哪种图形对象。 请参考从 FSDK.GraphicsObject.e_TypeAll 开始的值, 应为这些值之一。 FSDK.GraphicsObject.e_TypeAll 表示所有类型的图形对象。 默认值: FSDK.GraphicsObject.e_TypeAll 。
返回
FSDK.GraphicsObject 对象。如果找不到图形对象,此函数将返回 null

◆ GetGraphicsObjectAtRectangle()

FSDK::PDFPage::GetGraphicsObjectAtRectangle ( rect  ,
filter   
)

获取矩形与指定矩形相交的最顶层图形对象,使用指定的类型过滤器。

参数
[in]rect指定的矩形,采用 PDF 坐标系
[in]filter类型过滤器,指定要获取哪种图形对象。 请参考从 FSDK.GraphicsObject.e_TypeAll 开始的值, 应为这些值之一。 FSDK.GraphicsObject.e_TypeAll 表示所有类型的图形对象。 默认值: FSDK.GraphicsObject.e_TypeAll 。
返回
矩形与指定矩形相交的图形对象。 如果找不到合适的图形对象,此函数将返回 null

◆ GetGraphicsObjectsAtDevicePoint()

FSDK::PDFPage::GetGraphicsObjectsAtDevicePoint ( point  ,
tolerance  ,
matrix  ,
filter   
)

获取设备坐标系中指定点处的所有图形对象,使用指定的类型过滤器。

参数
[in]point指定的位置,采用设备坐标系。
[in]tolerance图形对象命中检测的容差值,以点为单位。应为正值。
[in]matrix转换矩阵。通常由函数 FSDK.PDFPage.GetDisplayMatrix 返回。 默认值: null
[in]filter类型过滤器,指定要获取哪种图形对象。 请参考从 FSDK.GraphicsObject.e_TypeAll 开始的值, 应为这些值之一。 FSDK.GraphicsObject.e_TypeAll 表示所有类型的图形对象。 默认值: FSDK.GraphicsObject.e_TypeAll 。
返回
FSDK.GraphicsObject 对象数组。

◆ GetGraphicsObjectsAtPoint()

FSDK::PDFPage::GetGraphicsObjectsAtPoint ( point  ,
tolerance  ,
filter   
)

获取指定点处的所有图形对象,使用指定的类型过滤器。

参数
[in]point指定的位置,采用 PDF 坐标系
[in]tolerance图形对象命中检测的容差值,以点为单位。应为正值。
[in]filter类型过滤器,指定要获取哪种图形对象。 请参考从 FSDK.GraphicsObject.e_TypeAll 开始的值, 应为这些值之一。 FSDK.GraphicsObject.e_TypeAll 表示所有类型的图形对象。 默认值: FSDK.GraphicsObject.e_TypeAll 。
返回
FSDK.GraphicsObject 对象数组。

◆ GetGraphicsObjectsAtRectangle()

FSDK::PDFPage::GetGraphicsObjectsAtRectangle ( rect  ,
filter   
)

获取矩形与指定矩形相交的所有图形对象,使用指定的类型过滤器。

参数
[in]rect指定的矩形,采用 PDF 坐标系
[in]filter类型过滤器,指定要获取哪种图形对象。 请参考从 FSDK.GraphicsObject.e_TypeAll 开始的值, 应为这些值之一。 FSDK.GraphicsObject.e_TypeAll 表示所有类型的图形对象。 默认值: FSDK.GraphicsObject.e_TypeAll 。
返回
矩形与指定矩形相交的图形对象数组。

◆ GetHeight()

FSDK::PDFPage::GetHeight ( )

获取页面高度(单位为 1/72 英寸)。

返回
页面高度。

◆ GetIndex()

FSDK::PDFPage::GetIndex ( )

获取页面索引。

返回
页面索引,从 0 开始,且在相关 PDF 文档的页面数量范围内。

◆ GetInheritedAttribute()

FSDK::PDFPage::GetInheritedAttribute ( attruibute_name  )

获取指定属性的 PDF 对象,该属性可能从页面树中的祖先节点继承。

某些页面属性被指定为可继承的,例如 "Resources"、"MediaBox"、"CropBox" 和 "Rotate"。请参阅 <PDF Reference 1.7> 第 145 页中的 "TABLE 3.27 Entries in a page object" 和 <PDF Reference 1.7> 第 149 页中的 "Inheritance of Page Attributes" 以获取更多详细信息。

参数
[in]attruibute_name要查找的属性名称。
返回
PDF 对象。如果未找到,此函数将返回 null

◆ GetResources()

FSDK::PDFPage::GetResources ( )

获取 "Resources" 的 PDF 字典。

注解
请参阅 <PDF Reference 1.7> 第 145 页中的 "TABLE 3.27 Entries in a page object" 以获取更多详细信息。
返回
"Resources" 的 PDF 字典。 如果没有 "Resources" 条目或发生任何错误,此函数将返回 null

◆ GetRotation()

FSDK::PDFPage::GetRotation ( )

获取页面旋转。

返回
页面旋转值。请参考从 FSDK.e_Rotation0 开始的值, 这将是这些值中的一个。

◆ GetSuggestedRect()

FSDK::PDFPage::GetSuggestedRect ( render_result  ,
render_matrix  ,
point   
)

根据渲染结果位图获取点(在 PDF 坐标系 中)的建议矩形(在 PDF 坐标系 中)。

此函数可以帮助用户在指定点周围定位矩形区域(作为建议矩形)。当获取到有效的建议矩形时, 用户可以使用该矩形向 PDF 页面添加内容,例如新注释、新表单字段、新签名等。
点的建议矩形表示一个包含指定点的矩形,该矩形可以在指定点周围的空闲位置尽可能大地绘制。 但是,如果从该点的任何左/右/上/下方向直接到达输入位图边缘,则无法获取建议矩形。
此函数不支持 Rgb565 位图。如果输入位图是 Rgb565 位图,此函数将直接返回一个空矩形。

参数
[in]render_result作为渲染当前 PDF 页面结果的位图。应为有效的位图对象。
[in]render_matrix用于渲染当前 PDF 页面并生成参数 render_result 作为渲染结果的转换矩阵。
[in]point要查找建议矩形的点(在 PDF 坐标系 中)。
返回
PDF 坐标系 中的建议矩形。如果返回的矩形对象的函数 FSDK.RectF.IsEmpty 的返回值为 true,表示找不到合适的建议矩形。

◆ GetThumb()

FSDK::PDFPage::GetThumb ( )

获取 "Thumb" 的 PDF 流。

注解
请参阅 <PDF Reference 1.7> 第 146 页中的 "TABLE 3.27 Entries in a page object" 以获取更多详细信息。
返回
"Thumb" 的 PDF 流。 如果没有 "Thumb" 条目或发生任何错误,此函数将返回 null

◆ GetUserUnitSize()

FSDK::PDFPage::GetUserUnitSize ( )

获取用户单位。

给出默认用户空间单位大小的正数,以 1/72 英寸的倍数表示。 支持的值范围取决于实现。

返回
用户单位。

◆ GetWidth()

FSDK::PDFPage::GetWidth ( )

获取页面宽度(单位为 1/72 英寸)。

返回
页面宽度。

◆ HasTransparency()

FSDK::PDFPage::HasTransparency ( )

检查当前 PDF 页面是否具有透明度。

使用此函数前,请确保当前页面已被解析。

返回
true 表示当前页面具有透明度, 而 false 表示当前页面没有透明度。

◆ HasWatermark()

FSDK::PDFPage::HasWatermark ( )

检查当前页面是否有水印(不包括 Foxit PDF SDK 试用水印)。

使用此函数前,请确保当前页面已被解析。

返回
true 表示当前页面有水印,false 表示 当前页面没有水印。

◆ IsParsed()

FSDK::PDFPage::IsParsed ( )

检查当前页面是否已被解析。

返回
true 表示当前页面已被解析, 而 false 表示当前页面尚未被解析。

◆ LoadThumbnail()

FSDK::PDFPage::LoadThumbnail ( )

加载缩略图位图。

返回
当前页面的缩略图位图。如果对返回的位图对象调用函数 FSDK.Bitmap.IsEmpty 的返回值为 true,则表示找不到缩略图。

◆ MoveAnnotToLast()

FSDK::PDFPage::MoveAnnotToLast ( annot  )

将指定的注释更改为所有注释中的最后一个。

在 PDF 页面中,所有注释都在注释列表中管理。在注释列表中, 索引较小的注释(在列表的前部)将首先绘制到页面上, 而索引较大的注释(在列表的后部)将在之后绘制到页面上。 因此,在页面中,如果一个注释在 z 顺序中显示在其他注释的顶部,这意味着 其索引比注释列表中的其他注释更大。
此函数用于将注释从当前索引位置移动到注释列表中的最后一个位置, 以便在显示时将注释移动到 z 顺序的顶部。

参数
[in]annot要移动到最后一个的注释对象。它应该在当前 PDF 页面中。
返回
无。

◆ MoveAnnotToNext()

FSDK::PDFPage::MoveAnnotToNext ( annot  )

交换当前注释和其后一个注释的索引。

在 PDF 页面中,所有注释都在注释列表中管理。在注释列表中, 索引较小的注释(在列表的前部)将首先绘制到页面上, 而索引较大的注释(在列表的后部)将在之后绘制到页面上。 因此,在页面中,如果一个注释在 z 顺序中显示在其他注释的顶部,这意味着 其索引比注释列表中的其他注释更大。
此函数用于交换当前注释和其后一个注释在注释列表中的索引位置, 以便在显示时将注释移动到 z 顺序的较高级别。

参数
[in]annot要移动的注释对象。它应该在当前 PDF 页面中。
返回
无。

◆ MoveAnnotToPrev()

FSDK::PDFPage::MoveAnnotToPrev ( annot  )

交换当前注释和其前一个注释的索引。

在 PDF 页面中,所有注释都在注释列表中管理。在注释列表中, 索引较小的注释(在列表的前部)将首先绘制到页面上, 而索引较大的注释(在列表的后部)将在之后绘制到页面上。 因此,在页面中,如果一个注释在 z 顺序中显示在其他注释的顶部,这意味着 其索引比注释列表中的其他注释更大。
此函数用于交换当前注释和其前一个注释在注释列表中的索引位置, 以便在显示时将注释移动到 z 顺序的较低级别。

参数
[in]annot要移动的注释对象。它应该在当前 PDF 页面中。
返回
无。

◆ Normalize()

FSDK::PDFPage::Normalize ( )

通过撤销任何旋转并移除页面"CropBox"的偏移来转换当前 PDF 页面。

返回
true 表示成功,而 false 表示失败。
注解
注释和表单字段也将被调整以保持在 PDF 页面上的相同相对位置。 这使得向 PDF 页面添加新项目更加容易,因为坐标系将相对于可见页面的左下角。

◆ RemoveAllWatermarks()

FSDK::PDFPage::RemoveAllWatermarks ( )

移除所有水印。

使用此函数前,请确保当前页面已被解析。

返回
true 表示成功,false 表示失败。

◆ RemoveAnnot()

FSDK::PDFPage::RemoveAnnot ( annot  )

移除注释。

此函数可以移除由获取函数或添加函数返回的任何注释。
但对于 widget 注释,此函数只能移除独立的 widget 注释。 如果 widget 注释与表单字段关联,此函数无法移除它, 并将抛出异常 FSDK.e_ErrUnsupported
对于与表单字段关联的 widget 注释,请调用函数 FSDK.Form.RemoveControl 将其与关联的表单控件一起移除。

参数
[in]annot要移除的注释对象。它应该在当前 PDF 页面中。
返回
true 表示成功,而 false 表示失败。将指定的注释更改为所有注释中的第一个。

在 PDF 页面中,所有注释都在注释列表中管理。在注释列表中, 索引较小的注释(在列表的前部)将首先绘制到页面上, 而索引较大的注释(在列表的后部)将在之后绘制到页面上。 因此,在页面中,如果一个注释在 z 顺序中显示在其他注释的顶部,这意味着 其索引比注释列表中的其他注释更大。
此函数用于将注释从当前索引位置移动到注释列表中的第一个位置, 以便在显示时将注释移动到 z 顺序的底部。

参数
[in]annot要移动到第一个的注释对象。它应该在当前 PDF 页面中。
返回
无。

◆ SetAnnotGroup()

FSDK::PDFPage::SetAnnotGroup ( annot_array  ,
header_index   
)

将所有输入的标记注释组合在一起。

标记注释可以被分组。该组由一个主要注释和一个或多个从属注释组成。 主要注释中的某些条目被视为应适用于整个组的组属性; 从属注释中的相应条目应被忽略。这些条目包括内容、最后修改时间、填充颜色/边框颜色、 标题、弹出注释、创建时间、主题和打开状态。因此,用户应 遵守组属性:当组中某个注释的属性被更改时, 同一组中的其他注释也应该被更改。
操作组中任何注释(如移动、剪切和复制)的操作, 应由查看器应用程序视为作用于整个组。

参数
[in]annot_array指定要组合在一起的标记注释的 Markup 对象数组。 此数组应至少包含 2 个标记注释,并且此数组中的所有标记注释 应彼此不同。此数组中的所有标记注释应在当前页面中。
特别地,如果此数组中的标记注释已经在另一个组中, 该组也将被设置为具有新标题的新组。
[in]header_index指定参数 annot_array 中某个标记注释作为组标题的索引。 有效范围:从 0 到 (annot_count -1)。
返回
true 表示成功将输入的标记注释组合在一起,而 false 表示失败。

◆ SetBox()

FSDK::PDFPage::SetBox ( box_type  ,
box   
)

设置页面框。

参数
[in]box_type页面框类型。请参考从 FSDK.PDFPage.e_MediaBox 开始的值, 应为这些值之一。
[in]box新的框矩形,采用 PDF 坐标系
返回
无。

◆ SetClipRect()

FSDK::PDFPage::SetClipRect ( clip_rect  )

为当前 PDF 页面上的所有图形对象设置裁剪矩形。

此函数成功完成后,请通过函数 FSDK.PDFPage.StartParse 并将参数 is_reparse 设为 true 重新解析当前页面。

参数
[in]clip_rect新的裁剪矩形,采用 PDF 坐标系
返回
无。

◆ SetRotation()

FSDK::PDFPage::SetRotation ( rotate  )

设置页面旋转。

参数
[in]rotate新的页面旋转值。请参考从 FSDK.e_Rotation0 开始的值, 应为这些值之一,但不包括 FSDK.e_RotationUnknown
返回
无。

◆ SetSize() [1/2]

FSDK::PDFPage::SetSize ( width  ,
height   
)

设置页面宽度和高度。

更改页面宽度/高度时,Foxit PDF SDK 将始终执行以下操作:
首先,选择"页面旋转为 0"作为基础页面状态,并选择 页面的左下角(页面旋转为 0 时)作为基准点。 然后,始终更改顶部页面边界和右侧页面边界的位置 (页面旋转为 0 时)以更改页面大小。

参数
[in]width新的页面宽度。应为正值,单位为 1/72 英寸。
[in]height新的页面高度。应为正值,单位为 1/72 英寸。
返回
无。

◆ SetSize() [2/2]

FSDK::PDFPage::SetSize ( size  )

设置页面尺寸类型。

更改页面大小时,Foxit PDF SDK 将始终执行以下操作:
首先,选择"页面旋转为 0"作为基础页面状态,并选择 页面的左下角(页面旋转为 0 时)作为基准点。 然后,始终更改顶部页面边界和右侧页面边界的位置 (页面旋转为 0 时)以更改页面大小。

参数
[in]size指定当前页面新尺寸的尺寸类型。请参考从 FSDK.PDFPage.e_SizeLetter 开始的值,应为这些值之一。
返回
无。

◆ SetThumbnail()

FSDK::PDFPage::SetThumbnail ( thumbnail  )

设置页面缩略图。

缩略图位图不使用 alpha 通道。因此建议用户设置不带 alpha 通道的位图 作为新缩略图。如果设置了带有 alpha 通道的位图, 新缩略图将默认使用白色背景。 目前,此函数不支持格式为 FSDK.Bitmap.e_DIBRgb565 的位图。

参数
[in]thumbnail新的页面缩略图。应为有效的位图。
返回
无。

◆ SetUserUnitSize()

FSDK::PDFPage::SetUserUnitSize ( user_unit  )

设置用户单位。

给出默认用户空间单位大小的正数,以 1/72 英寸的倍数表示。 支持的值范围取决于实现。如果未设置, Foxit PDF SDK 将使用默认值 1.0(用户单位为 1/72 英寸)。

参数
[in]user_unit给出默认用户空间单位大小的正数,以 1/72 英寸的倍数表示。
返回
无。

◆ SplitTextsInRectangle()

FSDK::PDFPage::SplitTextsInRectangle ( rect  ,
split_step   
)

拆分矩形(在 PDF 坐标系 中)与指定矩形(在 PDF 坐标系 中)相交的文本对象, 并根据 split_step 进一步拆分相交部分。

此函数根据 split_step 拆分与指定矩形相交的文本对象。 当文本对象与指定矩形相交时,相交部分将根据 split_step 被分成一个或多个文本对象。 同样,对于仅部分与指定矩形相交的文本对象, 它们的非相交部分将被拆分出来并作为单独的文本对象处理。如果 split_step 大于 0, 文本对象与指定矩形相交的部分将被拆分成几个文本对象。具体来说,每个新文本对象 将对应于指定矩形中的一个段,每个段中的字数由 split_step 定义。 如果相交部分中剩余的字数少于 split_step,这些剩余的字将被分组为一个文本对象。 如果 split_step 为 0,文本对象与指定矩形相交的部分 将不会被进一步拆分,并将被分组为一个文本对象。

参数
[in]rect指定的矩形,使用 PDF 坐标系
[in]split_step用于拆分与指定矩形相交的文本对象的字数。 此值不得为负数。值为 0 表示与指定矩形相交的文本对象 将不会被进一步拆分,并将被分组为一个文本对象。
返回
拆分后与指定矩形相交的文本图形对象数组。
注解
矩形(在 PDF 坐标系 中)与指定矩形(在 PDF 坐标系 中)相交的文本对象 将被单独拆分,不会合并在一起。 如果文本对象的矩形(在 PDF 坐标系 中)与指定矩形相交, 但其所有字符都位于指定矩形(在 PDF 坐标系 中)之外, 该文本对象将不被视为指定矩形(在 PDF 坐标系 中)内的拆分文本对象。

◆ StartParse()

FSDK::PDFPage::StartParse ( flags  ,
pause  ,
is_reparse   
)

开始解析当前页面。

解析 PDF 页面可能需要很长时间,因此 Foxit PDF SDK 使用渐进式过程来执行此操作。 在解析 PDF 页面后,页面内容的所有资源都将被加载。 用户可以在不解析页面的情况下获取页面字典或注释,但要执行与页面内容相关的操作, 请先解析页面。

参数
[in]flags解析标志。请参考从 FSDK.PDFPage.e_ParsePageNormal 开始的值, 这应该是这些值中的一个或组合。 默认值:FSDK.PDFPage.e_ParsePageNormal
[in]pause暂停回调对象,用于决定解析过程是否需要暂停。 这可以是 null,表示在解析过程中不暂停。 如果这不是 null,它应该是由用户实现的有效暂停对象。 默认值:null
[in]is_reparsetrue 表示重新解析当前页面,而 false 表示不重新解析当前页面。 默认值:false
返回
一个渐进式对象。请通过函数 FSDK.Progressive.GetRateOfProgress 检查当前进度的速率。如果速率还不是 100,请调用函数 FSDK.Progressive.Continue 继续进度,直到进度完成。
注解
当参数 is_reparse 设置为 true 时,意味着重新解析当前 PDF 页面, 并且所有已检索的图形对象的位置(作为 POSITION 对象)和图形对象 (作为 FSDK.GraphicsObject 对象)将失效。
应用程序需要在重新解析 PDF 页面后再次获取图形对象。

◆ Transform()

FSDK::PDFPage::Transform ( matrix  ,
need_transform_clip_path  ,
need_transform_annotations   
)

转换 PDF 页面,包括页面上的注释和表单字段。

注解
此函数仅支持缩放和平移。此操作后,请通过函数 FSDK.PDFPage.StartParse 并将参数 is_reparse 设为 true 重新解析当前页面,以便显示预期内容。
参数
[in]matrix转换矩阵。
[in]need_transform_clip_pathtrue 表示使用裁剪矩形转换页面, 而 false 表示不使用。
[in]need_transform_annotationstrue 表示使用注释转换页面。 而 false 表示不使用。
返回
true 表示成功,而 false 表示失败。

◆ UpdateAnnotList()

FSDK::PDFPage::UpdateAnnotList ( )

更新注释列表。

如果通过直接更改“Annots”字典项修改了任何注释(添加/删除...), 请在更改后调用此函数更新注释列表。

返回
无。

类成员变量说明

◆ e_ArtBox

FSDK::PDFPage::e_ArtBox
static

页面边界的艺术框。

修剪后完成页面的预期尺寸。

◆ e_BleedBox

FSDK::PDFPage::e_BleedBox
static

页面边界的出血框。

页面有意义内容(包括潜在的空白)的范围,由页面创建者指定。

◆ e_CalcContentsBox

FSDK::PDFPage::e_CalcContentsBox
static

计算边距模式的枚举。

此枚举的值应单独使用。根据所有内容的边界框计算边距。

◆ e_CropBox

FSDK::PDFPage::e_CropBox
static

页面边界的裁剪框。

在显示或打印时,页面内容要被裁剪(裁切)的区域。

◆ e_FlattenAll

FSDK::PDFPage::e_FlattenAll

展平选项的枚举。

此枚举的值可以单独使用或组合使用。展平 PDF 页面的所有内容。

◆ e_MediaBox

FSDK::PDFPage::e_MediaBox
static

展平 PDF 页面但不包括表单控件。

页面边界框类型的枚举。

此枚举的值应单独使用。页面边界的媒体框。

要显示或打印页面的物理媒体的边界。

◆ e_ParsePageNormal

FSDK::PDFPage::e_ParsePageNormal
static

PDF 页面使用的解析标志枚举。

此枚举的值可以单独使用或组合使用。正常模式的解析标志,表示解析 PDF 页面中的所有内容。

◆ e_SizeLetter

FSDK::PDFPage::e_SizeLetter
static

页面大小类型的枚举。

此枚举的值应单独使用。页面大小: letter。

◆ e_TrimBox

FSDK::PDFPage::e_TrimBox
static

页面边界的修剪框。

在生产环境中输出时,页面内容应被裁剪的区域。