|
| | ReflowPage (PDFPage page) |
| | 从已解析的PDF页面构造的构造函数。 更多...
|
| |
| | ReflowPage (ReflowPage other) |
| | 使用另一个重排页面对象的构造函数。 更多...
|
| |
| float | GetContentHeight () |
| | 在当前重排页面对象解析完成后获取内容高度。 更多...
|
| |
| float | GetContentWidth () |
| | 在当前重排页面对象解析完成后获取内容宽度。 更多...
|
| |
| Matrix2D | GetDisplayMatrix (float offset_x, float offset_y, int width, int height, Rotation rotate) |
| | 根据当前重排页面和屏幕之间顶边的偏移量获取显示矩阵。 更多...
|
| |
| string | GetFocusData (Matrix2D matrix, PointF point) |
| | 获取设备坐标系中给定位置对应的焦点数据。 更多...
|
| |
| PointF | GetFocusPosition (Matrix2D matrix, string focus_data) |
| | 获取设备坐标系中给定焦点数据对应的位置。 更多...
|
| |
| bool | IsEmpty () |
| | 检查当前对象是否为空。 更多...
|
| |
| bool | IsParsed () |
| | 检查当前重排页面是否已被解析。 更多...
|
| |
| void | SetImageScale (float image_scale) |
| | 设置图像缩放。可以在调用函数 ReflowPage.StartParse 之前调用此函数。 更多...
|
| |
| void | SetLineSpace (float line_space) |
| | 设置行间距。可以在调用函数 ReflowPage.StartParse 之前调用此函数。 更多...
|
| |
| void | SetParseFlags (int flags) |
| | 设置解析标志。可以在调用函数 ReflowPage.StartParse 之前调用此函数。 更多...
|
| |
| void | SetScreenMargin (int left, int top, int right, int bottom) |
| | 设置边距。可以在调用函数 ReflowPage.StartParse 之前调用此函数。 更多...
|
| |
| void | SetScreenSize (float width, float height) |
| | 设置屏幕尺寸。在调用函数 ReflowPage.StartParse 和 ReflowPage.SetLineSpace 之前应该调用此函数。 更多...
|
| |
| void | SetTopSpace (float top_space) |
| | 设置顶部空间。可以在调用函数 ReflowPage.StartParse 之前调用此函数。 更多...
|
| |
| void | SetZoom (int zoom) |
| | 设置缩放因子。可以在调用函数 ReflowPage.StartParse 之前调用此函数。 更多...
|
| |
| Progressive | StartParse (PauseCallback pause) |
| | 开始解析当前重排页面。 更多...
|
| |
为了在小屏幕设备上显示页面内容,Foxit PDF SDK 引入了"重排页面"的概念。 在重排页面中,原始PDF页面内容将被重新排列以适应指定的屏幕尺寸。
对于PDF页面,当用户在此PDF页面及其相关重排页面之间切换时,或在不同尺寸的 相关重排页面之间切换时,用户可能希望在重排页面中保持聚焦在某个位置。 为了跟踪焦点位置,Foxit PDF SDK 使用"焦点数据"来表示焦点位置。 焦点数据类似于PDF中的书签或目的地,但更简单。用户可以存储焦点数据 (或将数据保存到文件),以便用户稍后可以通过焦点数据再次检索焦点位置,即使 重排页面的尺寸发生了变化。
重排页面对象应该从已解析的PDF页面构造。此类提供以下功能:
要渲染重排页面,请使用函数 common.Renderer.StartRenderReflowPage 。
- 参见
- PDFPage
-
foxit.common.Renderer
◆ Flags
用于重排页面的解析标志枚举。
此枚举的值可以单独使用或组合使用。
| 枚举值 |
|---|
| e_Normal | 正常模式的解析标志,不包含图像。
|
| e_WithImage | 图像模式的解析标志。
|
| e_NoTruncate | 解析标志,用于决定是否允许在指定屏幕尺寸内截断第一个/最后一个图像或文本行。
最终解析的重排页面高度可能大于实际屏幕高度。在这种情况下, 重排页面的内容将在应用程序中显示在多个屏幕上。
应用程序可以使用以下模式来显示这样的重排页面:
如果使用"单屏模式"显示重排页面,可能会出现截断问题:第一行文本 或图像在屏幕顶部只显示下半部分,或最后一行文本或图像在屏幕底部只显示 上半部分。可以设置此标志来避免这种问题。
如果使用"滚动屏幕模式",则不需要使用此标志。
|
◆ ReflowPage() [1/2]
| foxit.pdf.ReflowPage.ReflowPage |
( |
PDFPage |
page | ) |
|
|
inline |
◆ ReflowPage() [2/2]
| foxit.pdf.ReflowPage.ReflowPage |
( |
ReflowPage |
other | ) |
|
|
inline |
◆ GetContentHeight()
| float foxit.pdf.ReflowPage.GetContentHeight |
( |
| ) |
|
|
inline |
在当前重排页面对象解析完成后获取内容高度。
- 返回
- 内容高度。
◆ GetContentWidth()
| float foxit.pdf.ReflowPage.GetContentWidth |
( |
| ) |
|
|
inline |
在当前重排页面对象解析完成后获取内容宽度。
- 返回
- 内容宽度。
◆ GetDisplayMatrix()
| Matrix2D foxit.pdf.ReflowPage.GetDisplayMatrix |
( |
float |
offset_x, |
|
|
float |
offset_y, |
|
|
int |
width, |
|
|
int |
height, |
|
|
Rotation |
rotate |
|
) |
| |
|
inline |
根据当前重排页面和屏幕之间顶边的偏移量获取显示矩阵。
此函数只能在重排页面解析完成后使用。
- 参数
-
| [in] | offset_x | 偏移值,表示从当前重排页面顶边 到屏幕顶边的偏移量。 |
| [in] | offset_y | 偏移值,表示从当前重排页面左边 到屏幕左边的偏移量。 |
| [in] | width | 屏幕中变换区域的宽度,通常以像素为单位。 |
| [in] | height | 屏幕中变换区域的高度,通常以像素为单位。 |
| [in] | rotate | 旋转值。请参考从 foxit.common.Rotation.e_Rotation0 开始的值, 应该是这些值中的一个。 |
- 返回
- 显示矩阵。
◆ GetFocusData()
| string foxit.pdf.ReflowPage.GetFocusData |
( |
Matrix2D |
matrix, |
|
|
PointF |
point |
|
) |
| |
|
inline |
获取设备坐标系中给定位置对应的焦点数据。
此函数只能在重排页面解析完成后使用。
焦点数据类似于PDF中的书签或目的地,用于定位 重排页面中指定内容的位置。对于PDF页面,指定内容的位置是固定的, 即使相关重排页面的大小发生变化也不会改变。因此焦点数据可以用于 在相关的不同大小但相同重排内容的重排页面中定位PDF页面的相同内容。
通常,用户可以调用函数 ReflowPage.GetFocusData 来获取 指定位置的焦点数据,并存储焦点数据。当重排页面大小改变时, 用户可以在函数 ReflowPage.GetFocusPosition 中使用存储的焦点数据 来获取新位置,然后仍然聚焦在相同的内容上或附近。
- 参数
-
- 返回
- 焦点数据。
◆ GetFocusPosition()
| PointF foxit.pdf.ReflowPage.GetFocusPosition |
( |
Matrix2D |
matrix, |
|
|
string |
focus_data |
|
) |
| |
|
inline |
获取设备坐标系中给定焦点数据对应的位置。
此函数只能在重排页面解析完成后使用。
焦点数据类似于PDF中的书签或目的地,用于定位 重排页面中指定内容的位置。对于PDF页面,指定内容的位置是固定的, 即使相关重排页面的大小发生变化也不会改变。因此焦点数据可以用于 在相关的不同大小但相同重排内容的重排页面中定位PDF页面的相同内容。
通常,用户可以调用函数 ReflowPage.GetFocusData 来获取 指定位置的焦点数据,并存储焦点数据。当重排页面大小改变时, 用户可以在函数 ReflowPage.GetFocusPosition 中使用存储的焦点数据 来获取新位置,然后仍然聚焦在相同的内容上或附近。
- 参数
-
- 返回
- 设备坐标系中的位置。
◆ IsEmpty()
| bool foxit.pdf.ReflowPage.IsEmpty |
( |
| ) |
|
|
inline |
检查当前对象是否为空。
当前对象为空时,意味着当前对象无用。
- 返回
- true 表示当前对象为空,false 表示不为空。
◆ IsParsed()
| bool foxit.pdf.ReflowPage.IsParsed |
( |
| ) |
|
|
inline |
检查当前重排页面是否已被解析。
- 返回
- true 表示当前重排页面已被解析, false 表示当前页面尚未被解析。
◆ SetImageScale()
| void foxit.pdf.ReflowPage.SetImageScale |
( |
float |
image_scale | ) |
|
|
inline |
◆ SetLineSpace()
| void foxit.pdf.ReflowPage.SetLineSpace |
( |
float |
line_space | ) |
|
|
inline |
◆ SetParseFlags()
| void foxit.pdf.ReflowPage.SetParseFlags |
( |
int |
flags | ) |
|
|
inline |
◆ SetScreenMargin()
| void foxit.pdf.ReflowPage.SetScreenMargin |
( |
int |
left, |
|
|
int |
top, |
|
|
int |
right, |
|
|
int |
bottom |
|
) |
| |
|
inline |
设置边距。可以在调用函数 ReflowPage.StartParse 之前调用此函数。
如果从未为当前重排页面设置边距,Foxit PDF SDK 将使用值 (0, 0, 0, 0) 作为默认边距。
如果设置了新边距,新边距将一直有效,直到当前重排页面被 重新解析和渲染。
- 参数
-
- 返回
- 无。
◆ SetScreenSize()
| void foxit.pdf.ReflowPage.SetScreenSize |
( |
float |
width, |
|
|
float |
height |
|
) |
| |
|
inline |
◆ SetTopSpace()
| void foxit.pdf.ReflowPage.SetTopSpace |
( |
float |
top_space | ) |
|
|
inline |
设置顶部空间。可以在调用函数 ReflowPage.StartParse 之前调用此函数。
此函数用于设置页面顶部和屏幕顶部之间的距离。此距离将在 解析重排页面时生效。
- 参数
-
| [in] | top_space | 顶部空间。此值应在 0 和 高度 之间。
如果未设置顶部空间,默认使用值 0。 |
- 返回
- 无。
◆ SetZoom()
| void foxit.pdf.ReflowPage.SetZoom |
( |
int |
zoom | ) |
|
|
inline |
设置缩放因子。可以在调用函数 ReflowPage.StartParse 之前调用此函数。
如果从未为当前重排页面设置缩放因子,Foxit PDF SDK 将使用值 100 作为默认缩放因子,表示 100。
如果设置了新的缩放因子,新的缩放因子将一直有效,直到当前重排页面被 重新解析和渲染。
- 参数
-
| [in] | zoom | 缩放因子。该值表示百分比值,例如 100 表示 100。 此值应在 25 和 1000 之间。
如果未设置缩放因子,默认使用值 100。 |
- 返回
- 无。
◆ StartParse()
开始解析当前重排页面。
解析重排页面可能需要很长时间,因此 Foxit PDF SDK 使用渐进过程来完成此操作。 重排页面解析完成后,将加载有关重排页面的所有资源。
在使用当前重排页面对象的任何获取函数之前,应该调用此函数。 如果当前页面中有小部件注释,目前不支持此函数。
- 参数
-
| [in] | pause | 暂停回调对象,决定解析过程是否需要暂停。 这可以是 null,表示在解析过程中不暂停。 如果不是 null,应该是用户实现的有效暂停对象。 默认值:null。 |
- 返回
- 一个渐进对象。请通过函数 common.Progressive.GetRateOfProgress 检查当前进度的速率。如果速率还不是 100,调用函数 common.Progressive.Continue 继续进度,直到进度完成。