Foxit PDF SDK
FSReflowPage类 参考
类 FSReflowPage 继承关系图:
FSBase

构造函数

(float) - getContentHeight
 在当前重排页面对象解析完成后获取内容高度。
更多...
 
(float) - getContentWidth
 在当前重排页面对象解析完成后获取内容宽度。
更多...
 
(FSMatrix2D *) - getDisplayMatrix:offset_y:width:height:rotate:
 根据当前重排页面和屏幕之间顶边的偏移量获取显示矩阵。
更多...
 
(NSString *) - getFocusData:point:
 获取设备坐标系中给定位置对应的焦点数据。
更多...
 
(FSPointF *) - getFocusPosition:focus_data:
 获取设备坐标系中给定焦点数据对应的位置。
更多...
 
(id) - initWithOther:
 使用另一个重排页面对象的构造函数。
更多...
 
(id) - initWithPage:
 从已解析的PDF页面构造的构造函数。
更多...
 
(BOOL) - isEmpty
 检查当前对象是否为空。
更多...
 
(BOOL) - isParsed
 检查当前重排页面是否已被解析。
更多...
 
(void) - setImageScale:
 设置图像缩放。可以在调用函数 FSReflowPage::startParse: 之前调用此函数。
更多...
 
(void) - setLineSpace:
 设置行间距。可以在调用函数 FSReflowPage::startParse: 之前调用此函数。
更多...
 
(void) - setParseFlags:
 设置解析标志。可以在调用函数 FSReflowPage::startParse: 之前调用此函数。
更多...
 
(void) - setScreenMargin:top:right:bottom:
 设置边距。可以在调用函数 FSReflowPage::startParse: 之前调用此函数。
更多...
 
(void) - setScreenSize:height:
 设置屏幕尺寸。在调用函数 FSReflowPage::startParse:FSReflowPage::setLineSpace: 之前应该调用此函数。
更多...
 
(void) - setTopSpace:
 设置顶部空间。可以在调用函数 FSReflowPage::startParse: 之前调用此函数。
更多...
 
(void) - setZoom:
 设置缩放因子。可以在调用函数 FSReflowPage::startParse: 之前调用此函数。
更多...
 
(FSProgressive *) - startParse:
 开始解析当前重排页面。
更多...
 

详细描述

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

要渲染重排页面,请使用函数 FSRenderer::startRenderReflowPage:matrix:pause:

参见
FSPDFPage
FSRenderer

函数文档

◆ getContentHeight()

- (float) getContentHeight

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

返回
内容高度。

◆ getContentWidth()

- (float) getContentWidth

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

返回
内容宽度。

◆ getDisplayMatrix:offset_y:width:height:rotate:()

- (FSMatrix2D *) getDisplayMatrix: (float)  offset_x
offset_y: (float)  offset_y
width: (int)  width
height: (int)  height
rotate: (FSRotation rotate 

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

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

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

◆ getFocusData:point:()

- (NSString *) getFocusData: (FSMatrix2D*)  matrix
point: (FSPointF*)  point 

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

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

参数
[in]matrix由函数 FSReflowPage::getDisplayMatrix:offset_y:width:height:rotate: 返回的矩阵。
[in]point设备坐标系中指定位置的点。
返回
焦点数据。

◆ getFocusPosition:focus_data:()

- (FSPointF *) getFocusPosition: (FSMatrix2D*)  matrix
focus_data: (NSString *)  focus_data 

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

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

参数
[in]matrix由函数 FSReflowPage::getDisplayMatrix:offset_y:width:height:rotate: 返回的矩阵。
[in]focus_data用于获取其在设备坐标系中对应位置的焦点数据, 使用指定的矩阵。 这是通过之前调用函数 FSReflowPage::getFocusData:point: 获取的。
返回
设备坐标系中的位置。

◆ initWithOther:()

- (id) initWithOther: (FSReflowPage*)  other

使用另一个重排页面对象的构造函数。

参数
[in]other另一个重排页面对象。

◆ initWithPage:()

- (id) initWithPage: (FSPDFPage*)  page

从已解析的PDF页面构造的构造函数。

参数
[in]page已解析的有效PDF页面对象。

◆ isEmpty()

- (BOOL) isEmpty

检查当前对象是否为空。

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

返回
YES 表示当前对象为空,NO 表示不为空。

◆ isParsed()

- (BOOL) isParsed

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

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

◆ setImageScale:()

- (void) setImageScale: (float)  image_scale

设置图像缩放。可以在调用函数 FSReflowPage::startParse: 之前调用此函数。

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

◆ setLineSpace:()

- (void) setLineSpace: (float)  line_space

设置行间距。可以在调用函数 FSReflowPage::startParse: 之前调用此函数。

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

◆ setParseFlags:()

- (void) setParseFlags: (unsigned int)  flags

设置解析标志。可以在调用函数 FSReflowPage::startParse: 之前调用此函数。

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

◆ setScreenMargin:top:right:bottom:()

- (void) setScreenMargin: (int)  left
top: (int)  top
right: (int)  right
bottom: (int)  bottom 

设置边距。可以在调用函数 FSReflowPage::startParse: 之前调用此函数。

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

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

◆ setScreenSize:height:()

- (void) setScreenSize: (float)  width
height: (float)  height 

设置屏幕尺寸。在调用函数 FSReflowPage::startParse:FSReflowPage::setLineSpace: 之前应该调用此函数。

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

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

◆ setTopSpace:()

- (void) setTopSpace: (float)  top_space

设置顶部空间。可以在调用函数 FSReflowPage::startParse: 之前调用此函数。

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

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

◆ setZoom:()

- (void) setZoom: (int)  zoom

设置缩放因子。可以在调用函数 FSReflowPage::startParse: 之前调用此函数。

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

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

◆ startParse:()

- (FSProgressive *) startParse: (id<FSPauseCallback>)  pause

开始解析当前重排页面。

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

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