Foxit PDF SDK

fs_ofdpage.h
1 #ifndef FS_OFD_PAGE_H_
2 #define FS_OFD_PAGE_H_
3
4 #include "common/fs_common.h"
5 #include "fs_ofdlayer.h"
6 #include "annots/fs_ofdannot.h"
7
13 namespace foxit {
17 namespace ofd {
18 namespace graphics {
19 class OFDBlockObject;
20 }
21 class Actions;
22 class TextSearchCharInfo;
23 class TextSearch;
24 class Annot;
25
27 class OFDPage : public Base {
28 public:
34 typedef enum _PageBoxType {
36 e_BleedBox = 0,
38 e_PhysicalBox = 1,
40 e_ApplicationBox = 2,
42 e_ContentBox = 3,
44 e_CropBox = 4
45 } PageBoxType;
46
47
49 ~OFDPage();
50
56 OFDPage(const OFDPage& other);
57
65 OFDPage& operator = (const OFDPage& other);
66
74 bool operator == (const OFDPage& other) const;
75
83 bool operator != (const OFDPage& other) const;
84
92 bool IsEmpty() const;
93
99 bool IsTemplatePage() const;
100
106 int GetIndex() const;
107
113 int GetID() const;
114
126 Matrix GetDisplayMatrix(int left, int top, int width, int height, common::Rotation rotate) const;
127
136 bool SetPageBox(PageBoxType box_type, const RectF& rect);
137
145 bool SetRotation(common::Rotation rotate);
146
152 common::Rotation GetRotation() const;
153
161 RectF GetPageBox(PageBoxType box_type) const;
162
168 Actions GetActions() const;
169
178 bool SetTemplatePage(OFDPage template_page, foxit::ofd::OFDLayer::LayerType order = foxit::ofd::OFDLayer::e_LayerTypeBody);
179
188 bool SetTemplatePageByID(int template_id, foxit::ofd::OFDLayer::LayerType order = foxit::ofd::OFDLayer::e_LayerTypeBody);
189
195 int GetTemplatePageCount() const;
196
202 OFDLayer AddLayer();
203
211 OFDLayer InsertLayer(int index);
212
221 bool RemoveLayer(int index);
222
228 int GetLayerCount() const;
229
238 OFDLayer GetLayer(int index) const;
239
245 foxit::ofd::graphics::OFDBlockObject AddPageBlock();
246
255 foxit::ofd::graphics::OFDBlockObject InsertPageBlock(int index);
256
265 bool RemovePageBlock(int index);
266
275 bool ReplaceCharacterBySearch(TextSearchCharInfo char_info, foxit::uint8 character = 'X');
276
286 bool ReplaceCharacterInRect(const RectF& rect, bool recover = true, foxit::uint8 character = 'X');
287
296 bool MaskCharacterWithBlack(const RectF& rect, int shape);
297
308 bool MaskCharacterWithBlur(const RectF& rect, int shape, int horz_blur, int vert_blur);
309
319 bool MaskCharacterWithMosaic(const RectF& rect, int shape, int vector_length);
320
329 bool PreMaskCharacterByRect(const RectF& rect, foxit::ARGB color);
330
339 bool FillRect(const RectF& rect, foxit::RGB color);
340
346 int GetTextLineCount();
347
356 WString GetTextByLineIndex(int index);
357
363 int GetAnnotCount();
364
373 Annot GetAnnot(int index);
374
382 Annot GetAnnotByID(foxit::uint32 id);
383
392 bool RemoveAnnot(int index);
393
402 Annot AddAnnot(Annot::AnnotType type);
403
409 bool IsDoubleLayer();
410
411 explicit OFDPage(FS_HANDLE handle);
412 };
413
415 class OFDTemplatePage FS_FINAL : public OFDPage {
416 public:
418 ~OFDTemplatePage();
419
427 bool SetName(const WString& name);
428
429 explicit OFDTemplatePage(FS_HANDLE handle);
430 };
431
432 } // namespace ofd
433 } // namespace foxit
434
435 #endif // FS_OFD_PAGE_H_
foxit::ofd::OFDPage::RemoveAnnot
bool RemoveAnnot(int index)
删除指定索引的标注对象。
foxit::ofd::OFDPage::GetPageBox
RectF GetPageBox(PageBoxType box_type) const
获取页面区域。
foxit::ofd::OFDPage::e_CropBox
裁剪区域。
Definition: fs_ofdpage.h:44
foxit::ofd::OFDPage::GetIndex
int GetIndex() const
获取页索引。
foxit::ofd::OFDPage::e_PhysicalBox
物理区域。
Definition: fs_ofdpage.h:38
foxit::ofd::OFDPage::GetDisplayMatrix
Matrix GetDisplayMatrix(int left, int top, int width, int height, common::Rotation rotate) const
计算渲染矩阵。
foxit::ofd::OFDPage::GetAnnot
Annot GetAnnot(int index)
按索引获取标注对象。
foxit::uint8
FX_UINT8 uint8
无符号 8 位整数。
Definition: fs_basictypes.h:203
foxit::ofd::OFDPage::SetRotation
bool SetRotation(common::Rotation rotate)
设置页面旋转。
foxit::RGB
uint32 RGB
RGB 颜色类型，24 位，((b) | ((g) << 8) | ((r) << 16)))
Definition: fs_basictypes.h:211
foxit::ofd::OFDPage::IsTemplatePage
bool IsTemplatePage() const
判断当前页面是否为模板页。
foxit::ofd::OFDPage::OFDPage
OFDPage(const OFDPage &other)
构造函数，通过另一个OFD页面对象。
CFX_WideString
宽字符串类
Definition: fx_string.h:1457
foxit::ofd::OFDPage::AddPageBlock
foxit::ofd::graphics::OFDBlockObject AddPageBlock()
新建一个页面块。这个接口将创建一个Layer插入到页面，在Layer中添加页面块。
foxit::ofd::OFDPage::ReplaceCharacterInRect
bool ReplaceCharacterInRect(const RectF &rect, bool recover=true, foxit::uint8 character='X')
根据矩形区域，完成字符替换。
foxit::ofd::OFDPage::GetRotation
common::Rotation GetRotation() const
获取页面旋转角度。
foxit::ofd::OFDPage::GetActions
Actions GetActions() const
获取页面动作数组。
foxit::ofd::Annot::AnnotType
AnnotType
OFD标注类型定义枚举类型.
Definition: fs_ofdannot.h:26
foxit::ofd::OFDPage::GetLayer
OFDLayer GetLayer(int index) const
获取指定索引的层句柄。
foxit::ARGB
uint32 ARGB
ARGB 颜色类型，32 位，((b) | ((g) << 8) | ((r) << 16)) | ((a) << 24)
Definition: fs_basictypes.h:209
foxit::ofd::OFDPage::InsertLayer
OFDLayer InsertLayer(int index)
新建一个层，并插入页中指定位置。
foxit::ofd::OFDPage::operator=
OFDPage & operator=(const OFDPage &other)
赋值操作符。
foxit::ofd::OFDPage::AddAnnot
Annot AddAnnot(Annot::AnnotType type)
新建一个标注对象并添加到页中。
foxit::ofd::OFDTemplatePage::~OFDTemplatePage
~OFDTemplatePage()
析构函数。
foxit::ofd::OFDPage::MaskCharacterWithMosaic
bool MaskCharacterWithMosaic(const RectF &rect, int shape, int vector_length)
通过马赛克进行页面信息屏蔽。
foxit::ofd::OFDPage::AddLayer
OFDLayer AddLayer()
新建一个层，并追加至页中。
foxit::ofd::Actions
Definition: fs_ofdaction.h:679
foxit::ofd::OFDPage::MaskCharacterWithBlur
bool MaskCharacterWithBlur(const RectF &rect, int shape, int horz_blur, int vert_blur)
通过模糊进行页面信息屏蔽。
foxit::ofd::OFDPage::~OFDPage
~OFDPage()
析构函数。
foxit::ofd::OFDPage::InsertPageBlock
foxit::ofd::graphics::OFDBlockObject InsertPageBlock(int index)
新建一个页面块。这个接口将创建一个Layer插入到页面，在Layer中添加页面块。
foxit::ofd::OFDPage::GetID
int GetID() const
获取页ID。
foxit::ofd::OFDPage::GetAnnotCount
int GetAnnotCount()
获取页中标注数量。
foxit::ofd::Annot
Definition: fs_ofdannot.h:19
foxit::ofd::OFDPage::RemovePageBlock
bool RemovePageBlock(int index)
删除指定索引页面块。
foxit::ofd::OFDPage::SetPageBox
bool SetPageBox(PageBoxType box_type, const RectF &rect)
设置页面区域。
foxit::ofd::graphics::OFDBlockObject
Definition: fs_ofdblockobject.h:21
foxit::ofd::OFDPage::GetAnnotByID
Annot GetAnnotByID(foxit::uint32 id)
按ID获取标注对象。
foxit::uint32
FX_UINT32 uint32
无符号 32 位整数。
Definition: fs_basictypes.h:195
foxit::FS_HANDLE
void * FS_HANDLE
句柄类型。
Definition: fs_basictypes.h:213
foxit::ofd::OFDPage::FillRect
bool FillRect(const RectF &rect, foxit::RGB color)
将指定区域填充为指定颜色。
fs_common.h
通用定义和类的头文件。
foxit::ofd::OFDPage::GetTextLineCount
int GetTextLineCount()
获取页面文本行数。
foxit::ofd::OFDPage::operator !=
bool operator !=(const OFDPage &other) const
不相等操作符。
foxit::ofd::OFDTemplatePage
Definition: fs_ofdpage.h:415
foxit::ofd::OFDPage::GetTemplatePageCount
int GetTemplatePageCount() const
获取页中模板页数。
foxit::ofd::OFDPage::ReplaceCharacterBySearch
bool ReplaceCharacterBySearch(TextSearchCharInfo char_info, foxit::uint8 character='X')
根据搜索结果，完成字符替换。
foxit::ofd::OFDPage::IsEmpty
bool IsEmpty() const
检查当前对象是否为空。
foxit::Base
Definition: fs_basictypes.h:465
foxit::ofd::OFDPage::SetTemplatePageByID
bool SetTemplatePageByID(int template_id, foxit::ofd::OFDLayer::LayerType order=foxit::ofd::OFDLayer::e_LayerTypeBody)
根据指定ID，设置页面的模板属性和呈现顺序。
foxit::ofd::OFDTemplatePage::SetName
bool SetName(const WString &name)
设置模板页的名称。
foxit::ofd::OFDPage::PageBoxType
PageBoxType
OFD页面区域类型枚举。
Definition: fs_ofdpage.h:34
foxit::common::Rotation
Rotation
旋转的枚举。
Definition: fs_common.h:57
foxit
Foxit命名空间。
Definition: fs_taggedpdf.h:27
foxit::ofd::OFDPage::e_BleedBox
出血框，超出物理设备限制的额外出血区域，默认为物理区域。
Definition: fs_ofdpage.h:36
foxit::ofd::OFDLayer::LayerType
LayerType
OFD页面层类型枚举。
Definition: fs_ofdlayer.h:38
foxit::ofd::OFDPage
Definition: fs_ofdpage.h:27
foxit::ofd::OFDPage::RemoveLayer
bool RemoveLayer(int index)
删除指定索引的层。
foxit::ofd::OFDPage::e_ApplicationBox
显示区域，页面内容实际显示或打印输出区域。
Definition: fs_ofdpage.h:40
foxit::ofd::OFDPage::operator==
bool operator==(const OFDPage &other) const
相等操作符。
foxit::ofd::TextSearchCharInfo
Definition: fs_ofdtextsearch.h:124
CFX_Matrix
Definition: fx_coordinates.h:1076
foxit::ofd::OFDLayer
Definition: fs_ofdlayer.h:31
foxit::ofd::OFDPage::GetLayerCount
int GetLayerCount() const
获取页中层数。
foxit::ofd::OFDLayer::e_LayerTypeBody
正文层。
Definition: fs_ofdlayer.h:42
foxit::ofd::OFDPage::SetTemplatePage
bool SetTemplatePage(OFDPage template_page, foxit::ofd::OFDLayer::LayerType order=foxit::ofd::OFDLayer::e_LayerTypeBody)
设置模板页属性。
foxit::ofd::OFDPage::GetTextByLineIndex
WString GetTextByLineIndex(int index)
获取指定行的文本内容。
foxit::ofd::OFDPage::IsDoubleLayer
bool IsDoubleLayer()
判断页面是否为双层页面。
foxit::ofd::OFDPage::MaskCharacterWithBlack
bool MaskCharacterWithBlack(const RectF &rect, int shape)
通过涂黑进行页面信息屏蔽。
foxit::ofd::OFDPage::e_ContentBox
版心区域即文件正文区域。
Definition: fs_ofdpage.h:42
foxit::ofd::OFDPage::PreMaskCharacterByRect
bool PreMaskCharacterByRect(const RectF &rect, foxit::ARGB color)
页面信息预遮盖，可恢复。
CFX_FloatRect
Definition: fx_coordinates.h:771