Foxit PDF SDK
fsdk.ReflowPage类 参考

Public 成员函数

def GetContentHeight ()
 在当前重排页面对象解析完成后获取内容高度。 更多...
 
def GetContentWidth ()
 在当前重排页面对象解析完成后获取内容宽度。 更多...
 
def GetDisplayMatrix (offset_x, offset_y, width, height, rotate)
 根据当前重排页面和屏幕之间顶边的偏移量获取显示矩阵。 更多...
 
def GetFocusData (matrix, point)
 获取设备坐标系中给定位置对应的焦点数据。 更多...
 
def GetFocusPosition (matrix, focus_data)
 获取设备坐标系中给定焦点数据对应的位置。 更多...
 
def IsEmpty ()
 检查当前对象是否为空。 更多...
 
def IsParsed ()
 检查当前重排页面是否已被解析。 更多...
 
def SetImageScale (image_scale)
 设置图像缩放。可以在调用函数 fsdk.ReflowPage.StartParse 之前调用此函数。 更多...
 
def SetLineSpace (line_space)
 设置行间距。可以在调用函数 fsdk.ReflowPage.StartParse 之前调用此函数。 更多...
 
def SetParseFlags (flags)
 设置解析标志。可以在调用函数 fsdk.ReflowPage.StartParse 之前调用此函数。 更多...
 
def SetScreenMargin (left, top, right, bottom)
 设置边距。可以在调用函数 fsdk.ReflowPage.StartParse 之前调用此函数。 更多...
 
def SetScreenSize (width, height)
 设置屏幕尺寸。在调用函数 fsdk.ReflowPage.StartParse fsdk.ReflowPage.SetLineSpace 之前应该调用此函数。 更多...
 
def SetTopSpace (top_space)
 设置顶部空间。可以在调用函数 fsdk.ReflowPage.StartParse 之前调用此函数。 更多...
 
def SetZoom (zoom)
 设置缩放因子。可以在调用函数 fsdk.ReflowPage.StartParse 之前调用此函数。 更多...
 
def StartParse (pause)
 开始解析当前重排页面。 更多...
 

详细描述

为了在小屏幕设备上显示页面内容,Foxit PDF SDK 引入了"重排页面"的概念。 在重排页面中,原始PDF页面内容将被重新排列以适应指定的屏幕尺寸。
对于PDF页面,当用户在此PDF页面及其相关重排页面之间切换时,或在不同尺寸的 相关重排页面之间切换时,用户可能希望在重排页面中保持聚焦在某个位置。 为了跟踪焦点位置,Foxit PDF SDK 使用"焦点数据"来表示焦点位置。 焦点数据类似于PDF中的书签或目的地,但更简单。用户可以存储焦点数据 (或将数据保存到文件),以便用户稍后可以通过焦点数据再次检索焦点位置,即使 重排页面的尺寸发生了变化。
重排页面对象应该从已解析的PDF页面构造。此类提供以下功能:

要渲染重排页面,请使用函数 fsdk.Renderer.StartRenderReflowPage

参见
PDFPage
fsdk.Renderer

成员函数说明

◆ GetContentHeight()

def fsdk.ReflowPage.GetContentHeight ( )

在当前重排页面对象解析完成后获取内容高度。

返回
内容高度。

◆ GetContentWidth()

def fsdk.ReflowPage.GetContentWidth ( )

在当前重排页面对象解析完成后获取内容宽度。

返回
内容宽度。

◆ GetDisplayMatrix()

def fsdk.ReflowPage.GetDisplayMatrix (   offset_x,
  offset_y,
  width,
  height,
  rotate 
)

根据当前重排页面和屏幕之间顶边的偏移量获取显示矩阵。

此函数只能在重排页面解析完成后使用。

参数
[in]offset_x偏移值,表示从当前重排页面顶边 到屏幕顶边的偏移量。
[in]offset_y偏移值,表示从当前重排页面左边 到屏幕左边的偏移量。
[in]width屏幕中变换区域的宽度,通常以像素为单位。
[in]height屏幕中变换区域的高度,通常以像素为单位。
[in]rotate旋转值。请参考从 fsdk.E_Rotation0 开始的值, 应该是这些值中的一个。
返回
显示矩阵。

◆ GetFocusData()

def fsdk.ReflowPage.GetFocusData (   matrix,
  point 
)

获取设备坐标系中给定位置对应的焦点数据。

此函数只能在重排页面解析完成后使用。
焦点数据类似于PDF中的书签或目的地,用于定位 重排页面中指定内容的位置。对于PDF页面,指定内容的位置是固定的, 即使相关重排页面的大小发生变化也不会改变。因此焦点数据可以用于 在相关的不同大小但相同重排内容的重排页面中定位PDF页面的相同内容。
通常,用户可以调用函数 fsdk.ReflowPage.GetFocusData 来获取 指定位置的焦点数据,并存储焦点数据。当重排页面大小改变时, 用户可以在函数 fsdk.ReflowPage.GetFocusPosition 中使用存储的焦点数据 来获取新位置,然后仍然聚焦在相同的内容上或附近。

参数
[in]matrix由函数 fsdk.ReflowPage.GetDisplayMatrix 返回的矩阵。
[in]point设备坐标系中指定位置的点。
返回
焦点数据。

◆ GetFocusPosition()

def fsdk.ReflowPage.GetFocusPosition (   matrix,
  focus_data 
)

获取设备坐标系中给定焦点数据对应的位置。

此函数只能在重排页面解析完成后使用。
焦点数据类似于PDF中的书签或目的地,用于定位 重排页面中指定内容的位置。对于PDF页面,指定内容的位置是固定的, 即使相关重排页面的大小发生变化也不会改变。因此焦点数据可以用于 在相关的不同大小但相同重排内容的重排页面中定位PDF页面的相同内容。
通常,用户可以调用函数 fsdk.ReflowPage.GetFocusData 来获取 指定位置的焦点数据,并存储焦点数据。当重排页面大小改变时, 用户可以在函数 fsdk.ReflowPage.GetFocusPosition 中使用存储的焦点数据 来获取新位置,然后仍然聚焦在相同的内容上或附近。

参数
[in]matrix由函数 fsdk.ReflowPage.GetDisplayMatrix 返回的矩阵。
[in]focus_data用于获取其在设备坐标系中对应位置的焦点数据, 使用指定的矩阵。 这是通过之前调用函数 fsdk.ReflowPage.GetFocusData 获取的。
返回
设备坐标系中的位置。

◆ IsEmpty()

def fsdk.ReflowPage.IsEmpty ( )

检查当前对象是否为空。

当前对象为空时,意味着当前对象无用。

返回
true 表示当前对象为空,false 表示不为空。

◆ IsParsed()

def fsdk.ReflowPage.IsParsed ( )

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

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

◆ SetImageScale()

def fsdk.ReflowPage.SetImageScale (   image_scale)

设置图像缩放。可以在调用函数 fsdk.ReflowPage.StartParse 之前调用此函数。

参数
[in]image_scale图像缩放。此值应为正数。
如果未设置图像缩放,默认使用值 1.0f。
返回
无。

◆ SetLineSpace()

def fsdk.ReflowPage.SetLineSpace (   line_space)

设置行间距。可以在调用函数 fsdk.ReflowPage.StartParse 之前调用此函数。

参数
[in]line_space行间距。此值应在 -25 到 (屏幕高度/2) 之间,屏幕高度 由 函数 fsdk.ReflowPage.SetScreenSize 设置。如果未设置行间距,默认使用值 0。
返回
无。

◆ SetParseFlags()

def fsdk.ReflowPage.SetParseFlags (   flags)

设置解析标志。可以在调用函数 fsdk.ReflowPage.StartParse 之前调用此函数。

参数
[in]flags解析标志。请参考从 fsdk.ReflowPageE_Normal 开始的值, 应该是这些值中的一个或组合。 如果未设置解析标志,默认使用值 fsdk.ReflowPageE_Normal
返回
无。

◆ SetScreenMargin()

def fsdk.ReflowPage.SetScreenMargin (   left,
  top,
  right,
  bottom 
)

设置边距。可以在调用函数 fsdk.ReflowPage.StartParse 之前调用此函数。

如果从未为当前重排页面设置边距,Foxit PDF SDK 将使用值 (0, 0, 0, 0) 作为默认边距。
如果设置了新边距,新边距将一直有效,直到当前重排页面被 重新解析和渲染。

参数
[in]left左边距。此值应在 0 和 (屏幕宽度 / 3) 之间,屏幕宽度 由 函数 fsdk.ReflowPage.SetScreenSize 设置。
[in]top顶边距。此值应在 0 和 (屏幕高度 / 3) 之间,屏幕高度 由 函数 fsdk.ReflowPage.SetScreenSize 设置。
[in]right右边距。此值应在 0 和 (屏幕宽度 / 3) 之间,屏幕宽度 由 函数 fsdk.ReflowPage.SetScreenSize 设置。
[in]bottom底边距。此值应在 0 和 (屏幕高度 / 3) 之间,屏幕高度 由 函数 fsdk.ReflowPage.SetScreenSize 设置。
返回
无。

◆ SetScreenSize()

def fsdk.ReflowPage.SetScreenSize (   width,
  height 
)

设置屏幕尺寸。在调用函数 fsdk.ReflowPage.StartParse fsdk.ReflowPage.SetLineSpace 之前应该调用此函数。

在解析重排页面和设置行间距之前,用户应该调用此函数来设置 解析重排页面的屏幕尺寸。

参数
[in]width屏幕宽度。
[in]height屏幕高度。
返回
无。

◆ SetTopSpace()

def fsdk.ReflowPage.SetTopSpace (   top_space)

设置顶部空间。可以在调用函数 fsdk.ReflowPage.StartParse 之前调用此函数。

此函数用于设置页面顶部和屏幕顶部之间的距离。此距离将在 解析重排页面时生效。

参数
[in]top_space顶部空间。此值应在 0 和 高度 之间。
如果未设置顶部空间,默认使用值 0。
返回
无。

◆ SetZoom()

def fsdk.ReflowPage.SetZoom (   zoom)

设置缩放因子。可以在调用函数 fsdk.ReflowPage.StartParse 之前调用此函数。

如果从未为当前重排页面设置缩放因子,Foxit PDF SDK 将使用值 100 作为默认缩放因子,表示 100。
如果设置了新的缩放因子,新的缩放因子将一直有效,直到当前重排页面被 重新解析和渲染。

参数
[in]zoom缩放因子。该值表示百分比值,例如 100 表示 100。 此值应在 25 和 1000 之间。
如果未设置缩放因子,默认使用值 100。
返回
无。

◆ StartParse()

def fsdk.ReflowPage.StartParse (   pause)

开始解析当前重排页面。

解析重排页面可能需要很长时间,因此 Foxit PDF SDK 使用渐进过程来完成此操作。 重排页面解析完成后,将加载有关重排页面的所有资源。
在使用当前重排页面对象的任何获取函数之前,应该调用此函数。 如果当前页面中有小部件注释,目前不支持此函数。

参数
[in]pause暂停回调对象,决定解析过程是否需要暂停。 这可以是 null,表示在解析过程中不暂停。 如果不是 null,应该是用户实现的有效暂停对象。 默认值:null
返回
一个渐进对象。请通过函数 fsdk.Progressive.GetRateOfProgress 检查当前进度的速率。如果速率还不是 100,调用函数 fsdk.Progressive.Continue 继续进度,直到进度完成。