Foxit PDF SDK

fs_annotationsummary.h
浏览该文件的文档.
1
15 #ifndef FS_ANNOTATIONSUMMARY_H_
16 #define FS_ANNOTATIONSUMMARY_H_
17
18 #include "common/fs_common.h"
19 #include "pdf/fs_pdfdoc.h"
20 #include "pdf/annots/fs_annot.h"
21
27 namespace foxit {
31 namespace pdf {
38 class AnnotationSummaryCallback {
39 public:
45 typedef enum _AnnotationSummaryStringID {
50 e_AnnotationSummaryStringIDAuthor = 0,
55 e_AnnotationSummaryStringIDDate = 1,
60 e_AnnotationSummaryStringIDPage = 2,
65 e_AnnotationSummaryStringIDType = 3,
67 e_AnnotationSummaryStringIDDocumentTitle = 4,
71 e_AnnotationSummaryStringIDPageTitle = 5,
76 e_AnnotationSummaryStringIDNoAnnotations = 6,
81 e_AnnotationSummaryStringIDNumber = 7,
86 e_AnnotationSummaryStringIDSubject = 8
87 } AnnotationSummaryStringID;
88
89
95 virtual void Release() = 0;
96
106 virtual common::LocaleID GetCurrentLocaleID() = 0;
107
116 virtual WString GetLocalFontName() = 0;
117
134 virtual WString LoadString(AnnotationSummaryStringID id) = 0;
135
136 protected:
137 ~AnnotationSummaryCallback() {}
138 };
139
145 class AnnotationSummarySettings FS_FINAL : public Base {
146 public:
152 typedef enum _SummaryLayout {
154 e_SummaryLayoutSeparatePagesWithLine = 0,
156 e_SummaryLayoutSinglePageWithLine = 1,
158 e_SummaryLayoutAnnotationOnly = 2,
160 e_SummaryLayoutSeparatePagesWithSequenceNumber = 3,
162 e_SummaryLayoutSinglePageWithSequenceNumber = 4
163 } SummaryLayout;
164
170 typedef enum _SortType {
172 e_TypeSortByAuthor = 0,
174 e_TypeSortByDate = 1,
176 e_TypeSortByPage = 2,
178 e_TypeSortByAnnotationType = 3
179 } SortType;
180
186 typedef enum _FontSizeType {
188 e_FontSizeSmall = 0,
190 e_FontSizeMedium = 1,
192 e_FontSizeLarge = 2
193 } FontSizeType;
194
195
199 AnnotationSummarySettings();
200
201 // 强烈建议用户不要使用此方法；否则可能出现未知情况。
202 explicit AnnotationSummarySettings(FS_HANDLE handle);
203
205 ~AnnotationSummarySettings();
206
212 AnnotationSummarySettings(const AnnotationSummarySettings& other);
213
221 AnnotationSummarySettings& operator=(const AnnotationSummarySettings& other);
222
230 bool operator==(const AnnotationSummarySettings& other) const;
231
239 bool operator!=(const AnnotationSummarySettings& other) const;
240
248 bool IsEmpty() const;
249
263 void SetSummaryLayout(SummaryLayout type);
264
278 void SetSortType(SortType type);
279
293 void SetFontSize(FontSizeType type);
294
319 void SetAnnotType(annots::Annot::Type type, bool use_all);
320
330 void SetFileTitle(const wchar_t* title);
331
341 void SetPageRect(const RectF& rect);
342
354 void SetPageMargin(const RectF& margin);
355
368 void SetStartPage(int page_index);
369
383 void SetEndPage(int page_index);
384
396 void EnableOutputNoAnnotationPage(bool enable);
397
411 void SetConnectorLineColor(RGB color);
412
427 void SetConnectorLineOpacity(float opacity);
428
450 void SetAnnotThumbnail(annots::Annot::Type type, const common::Bitmap& thumbnail);
451 };
452
456 class AnnotationSummary FS_FINAL : public Base {
457 public:
463 AnnotationSummary(const pdf::PDFDoc& document);
464
465 // 强烈建议用户不要使用此方法；否则可能出现未知情况。
466 explicit AnnotationSummary(FS_HANDLE handle);
467
469 ~AnnotationSummary();
470
476 AnnotationSummary(const AnnotationSummary& other);
477
485 AnnotationSummary& operator=(const AnnotationSummary& other);
486
494 bool operator==(const AnnotationSummary& other) const;
495
503 bool operator!=(const AnnotationSummary& other) const;
504
512 bool IsEmpty() const;
513
526 void SetCallback(AnnotationSummaryCallback* callback);
527
548 common::Progressive StartSummarize(const char* dest_file_path, const AnnotationSummarySettings& settings, common::PauseCallback* pause = NULL);
549
570 common::Progressive StartSummarize(const wchar_t* dest_file_path, const AnnotationSummarySettings& settings, common::PauseCallback* pause = NULL);
571
593 common::Progressive StartSummarize(foxit::common::file::WriterCallback* dest_file, const AnnotationSummarySettings& settings, foxit::common::PauseCallback* pause = NULL);
594 };
595
596 } // namespace pdf
597 } // namespace foxit
598 #endif // FS_ANNOTATIONSUMMARY_H_
foxit::pdf::AnnotationSummarySettings
Definition: fs_annotationsummary.h:145
foxit::pdf::AnnotationSummary::SetCallback
void SetCallback(AnnotationSummaryCallback *callback)
为注释摘要设置回调对象。
foxit::pdf::AnnotationSummaryCallback::e_AnnotationSummaryStringIDDocumentTitle
注释摘要字符串 ID：指定结果文档中的文档标题。默认标题是 "Summary of comments:"。
Definition: fs_annotationsummary.h:67
IFX_FileWrite
文件写入接口。
Definition: fx_stream.h:470
foxit::pdf::AnnotationSummaryCallback
Definition: fs_annotationsummary.h:38
foxit::common::Bitmap
Definition: fs_image.h:36
foxit::pdf::AnnotationSummary::AnnotationSummary
AnnotationSummary(const pdf::PDFDoc &document)
构造函数。
foxit::pdf::AnnotationSummaryCallback::e_AnnotationSummaryStringIDNoAnnotations
注释摘要字符串 ID：指定在页面没有任何注释时在结果文档中作为内容使用的字符串。 默认内容是 "No Annotations."。
Definition: fs_annotationsummary.h:76
foxit::pdf::AnnotationSummary::StartSummarize
common::Progressive StartSummarize(const char *dest_file_path, const AnnotationSummarySettings &settings, common::PauseCallback *pause=0)
开始摘要注释。
foxit::pdf::AnnotationSummaryCallback::e_AnnotationSummaryStringIDSubject
注释摘要字符串 ID：指定在结果文档中输出主题信息时的前缀。 默认前缀是 "Subject:"。
Definition: fs_annotationsummary.h:86
foxit::pdf::AnnotationSummaryCallback::LoadString
virtual WString LoadString(AnnotationSummaryStringID id)=0
用于为指定情况加载本地语言字符串的回调函数。
foxit::pdf::AnnotationSummarySettings::SetFileTitle
void SetFileTitle(const wchar_t *title)
设置当需要在结果文档中输出文档位置时的文件标题字符串。
foxit::pdf::AnnotationSummaryCallback::GetLocalFontName
virtual WString GetLocalFontName()=0
用于指定本地使用的字体名称的回调函数。
foxit::pdf::AnnotationSummaryCallback::e_AnnotationSummaryStringIDNumber
注释摘要字符串 ID：指定在结果文档中输出数量信息时的前缀。 默认前缀是 "Number:"。
Definition: fs_annotationsummary.h:81
fs_pdfdoc.h
PDF文档相关定义和类的头文件。
foxit::common::LocaleID
LocaleID
语言环境ID枚举。
Definition: fs_common.h:238
foxit::pdf::AnnotationSummary::operator=
AnnotationSummary & operator=(const AnnotationSummary &other)
赋值运算符。
foxit::pdf::AnnotationSummarySettings::~AnnotationSummarySettings
~AnnotationSummarySettings()
析构函数。
foxit::pdf::AnnotationSummarySettings::SetFontSize
void SetFontSize(FontSizeType type)
设置注释摘要结果文档中使用的字体大小类型。
foxit::pdf::AnnotationSummarySettings::SetConnectorLineColor
void SetConnectorLineColor(RGB color)
设置连接线颜色。
foxit::RGB
uint32 RGB
RGB 颜色类型，24 位，((b) | ((g) << 8) | ((r) << 16)))
Definition: fs_basictypes.h:211
foxit::pdf::AnnotationSummary
Definition: fs_annotationsummary.h:456
foxit::pdf::annots::Annot::Type
Type
PDF注释类型的枚举。
Definition: fs_annot.h:957
foxit::pdf::AnnotationSummarySettings::operator=
AnnotationSummarySettings & operator=(const AnnotationSummarySettings &other)
赋值运算符。
foxit::pdf::AnnotationSummaryCallback::e_AnnotationSummaryStringIDDate
注释摘要字符串 ID：指定在结果文档中输出日期信息时的前缀。 默认前缀是 "Date:"。
Definition: fs_annotationsummary.h:55
foxit::pdf::AnnotationSummarySettings::SummaryLayout
SummaryLayout
用于结果文档中注释摘要布局类型的枚举。
Definition: fs_annotationsummary.h:152
CFX_WideString
宽字符串类
Definition: fx_string.h:1457
foxit::pdf::AnnotationSummarySettings::SetAnnotThumbnail
void SetAnnotThumbnail(annots::Annot::Type type, const common::Bitmap &thumbnail)
设置结果文档中用于指示注释类型的标记注释缩略图。
foxit::pdf::AnnotationSummary::~AnnotationSummary
~AnnotationSummary()
析构函数。
foxit::pdf::PDFDoc
Definition: fs_pdfdoc.h:768
foxit::pdf::AnnotationSummarySettings::e_TypeSortByPage
如果设置，表示在结果文档中按页面对注释进行排序。
Definition: fs_annotationsummary.h:176
foxit::pdf::AnnotationSummarySettings::e_SummaryLayoutSinglePageWithSequenceNumber
如果设置，这意味着在单独的页面上用序列号布局文档和注释。
Definition: fs_annotationsummary.h:162
foxit::pdf::AnnotationSummarySettings::SetConnectorLineOpacity
void SetConnectorLineOpacity(float opacity)
设置连接线不透明度。
foxit::pdf::AnnotationSummarySettings::SetSortType
void SetSortType(SortType type)
设置决定按什么对注释进行排序的选项。
foxit::pdf::AnnotationSummarySettings::e_SummaryLayoutSinglePageWithLine
如果设置，表示在结果文档中使用分页且不带连接线的布局。注释内容会显示在注释原始位置的相对页面上。
Definition: fs_annotationsummary.h:156
foxit::pdf::AnnotationSummarySettings::FontSizeType
FontSizeType
用于结果文档中字体大小类型选项的枚举。
Definition: fs_annotationsummary.h:186
foxit::pdf::AnnotationSummarySettings::e_FontSizeSmall
如果设置，表示在结果文档中使用小字体。
Definition: fs_annotationsummary.h:188
foxit::pdf::AnnotationSummarySettings::AnnotationSummarySettings
AnnotationSummarySettings()
构造函数，带参数。
foxit::pdf::AnnotationSummarySettings::e_TypeSortByAuthor
如果设置，表示在结果文档中按作者对注释进行排序。
Definition: fs_annotationsummary.h:172
foxit::pdf::AnnotationSummarySettings::e_SummaryLayoutSeparatePagesWithLine
如果设置，表示在结果文档中使用分页且带连接线的布局。注释内容会显示在注释原始位置的相对页面上。
Definition: fs_annotationsummary.h:154
fs_annot.h
注释相关定义和类的头文件。
foxit::pdf::AnnotationSummarySettings::IsEmpty
bool IsEmpty() const
检查当前对象是否为空。
foxit::pdf::AnnotationSummarySettings::e_FontSizeLarge
如果设置，表示在结果文档中使用大字体。
Definition: fs_annotationsummary.h:192
foxit::pdf::AnnotationSummarySettings::SetEndPage
void SetEndPage(int page_index)
设置结束页面索引。
foxit::pdf::AnnotationSummaryCallback::GetCurrentLocaleID
virtual common::LocaleID GetCurrentLocaleID()=0
用于指定当前区域设置 ID 的回调函数。
IFX_Pause
Definition: fx_basic.h:3737
foxit::pdf::AnnotationSummarySettings::SetAnnotType
void SetAnnotType(annots::Annot::Type type, bool use_all)
设置决定哪种类型的注释将被摘要的选项。
foxit::pdf::AnnotationSummarySettings::e_SummaryLayoutSeparatePagesWithSequenceNumber
如果设置，这意味着在单独的页面上用序列号布局文档和注释。
Definition: fs_annotationsummary.h:160
foxit::common::Progressive
Definition: fs_common.h:373
foxit::pdf::AnnotationSummaryCallback::e_AnnotationSummaryStringIDAuthor
注释摘要字符串 ID：指定在结果文档中输出作者信息时的前缀。 默认前缀是 "Author:"。
Definition: fs_annotationsummary.h:50
foxit::FS_HANDLE
void * FS_HANDLE
句柄类型。
Definition: fs_basictypes.h:213
fs_common.h
通用定义和类的头文件。
foxit::pdf::AnnotationSummaryCallback::Release
virtual void Release()=0
用于释放当前回调对象本身的回调函数。
foxit::pdf::AnnotationSummarySettings::SortType
SortType
用于结果文档中注释排序选项的枚举。
Definition: fs_annotationsummary.h:170
foxit::pdf::AnnotationSummary::operator!=
bool operator!=(const AnnotationSummary &other) const
不等运算符。
foxit::pdf::AnnotationSummaryCallback::AnnotationSummaryStringID
AnnotationSummaryStringID
用于指定注释摘要时结果文档中的字符串或前缀的字符串 ID 枚举。
Definition: fs_annotationsummary.h:45
foxit::pdf::AnnotationSummarySettings::e_SummaryLayoutAnnotationOnly
如果设置，则表示仅布局注释。
Definition: fs_annotationsummary.h:158
foxit::Base
Definition: fs_basictypes.h:465
foxit::pdf::AnnotationSummary::IsEmpty
bool IsEmpty() const
检查当前对象是否为空。
foxit::pdf::AnnotationSummarySettings::e_TypeSortByDate
如果设置，表示在结果文档中按日期对注释进行排序。
Definition: fs_annotationsummary.h:174
foxit
Foxit命名空间。
Definition: fs_taggedpdf.h:27
foxit::pdf::AnnotationSummary::operator==
bool operator==(const AnnotationSummary &other) const
相等运算符。
foxit::pdf::AnnotationSummarySettings::EnableOutputNoAnnotationPage
void EnableOutputNoAnnotationPage(bool enable)
设置标志以决定是否输出没有注释的页面信息。
foxit::pdf::AnnotationSummarySettings::e_TypeSortByAnnotationType
如果设置，表示在结果文档中按注释类型对注释进行排序。
Definition: fs_annotationsummary.h:178
foxit::pdf::AnnotationSummarySettings::e_FontSizeMedium
如果设置，表示在结果文档中使用中等字体。
Definition: fs_annotationsummary.h:190
foxit::pdf::AnnotationSummaryCallback::e_AnnotationSummaryStringIDPageTitle
注释摘要字符串 ID：指定在结果文档中输出页面标题时的前缀。默认字符串是 "Page:"。
Definition: fs_annotationsummary.h:71
foxit::pdf::AnnotationSummarySettings::SetStartPage
void SetStartPage(int page_index)
设置起始页面索引。
foxit::pdf::AnnotationSummaryCallback::e_AnnotationSummaryStringIDPage
注释摘要字符串 ID：指定在结果文档中输出页面信息时的前缀。 默认前缀是 "Page:"。
Definition: fs_annotationsummary.h:60
NULL
#define NULL
空指针值。
Definition: fx_system.h:792
foxit::pdf::AnnotationSummarySettings::SetPageRect
void SetPageRect(const RectF &rect)
设置结果文档中的页面矩形。
foxit::pdf::AnnotationSummarySettings::operator!=
bool operator!=(const AnnotationSummarySettings &other) const
不等运算符。
foxit::pdf::AnnotationSummarySettings::SetSummaryLayout
void SetSummaryLayout(SummaryLayout type)
设置摘要布局类型。
foxit::pdf::AnnotationSummarySettings::SetPageMargin
void SetPageMargin(const RectF &margin)
设置结果文档中使用的页面边距。
foxit::pdf::AnnotationSummarySettings::operator==
bool operator==(const AnnotationSummarySettings &other) const
相等运算符。
foxit::pdf::AnnotationSummaryCallback::e_AnnotationSummaryStringIDType
注释摘要字符串 ID：指定在结果文档中输出注释类型时的前缀。 默认前缀是 "Type:"。
Definition: fs_annotationsummary.h:65
CFX_FloatRect
Definition: fx_coordinates.h:771