Foxit PDF SDK

fs_searchreplace.h
浏览该文件的文档.
1
15 #ifndef FS_SEARCHREPLACE_H_
16 #define FS_SEARCHREPLACE_H_
17
18 #include "common/fs_common.h"
19 #include "pdf/fs_pdfdoc.h"
20 #include "pdf/fs_pdfpage.h"
21
27 namespace foxit {
31 namespace addon {
35 namespace pageeditor {
39 class FindOption FS_FINAL : public Object{
40 public:
47 FindOption(bool is_whole_word, bool is_case_sensitive)
48 : is_whole_word(is_whole_word)
49 , is_case_sensitive(is_case_sensitive) {
50 }
51
53 FindOption()
54 : is_whole_word(false)
55 , is_case_sensitive(false) {}
56
62 FindOption(const FindOption& find_option) {
63 this->is_whole_word = find_option.is_whole_word;
64 this->is_case_sensitive = find_option.is_case_sensitive;
65 }
66
74 FindOption& operator=(const FindOption& find_option) {
75 this->is_whole_word = find_option.is_whole_word;
76 this->is_case_sensitive = find_option.is_case_sensitive;
77 return *this;
78 }
79
87 bool operator == (const FindOption& other) const {
88 return (is_whole_word == other.is_whole_word && is_case_sensitive == other.is_case_sensitive);
89 }
97 bool operator != (const FindOption& other) const {
98 return (is_whole_word != other.is_whole_word || is_case_sensitive != other.is_case_sensitive);
99 }
100
109 void Set(bool is_whole_word, bool is_case_sensitive) {
110 this->is_whole_word = is_whole_word;
111 this->is_case_sensitive = is_case_sensitive;
112 }
113
115 bool is_whole_word;
116
118 bool is_case_sensitive;
119 };
124 class ReplaceCallback {
125 public:
137 virtual bool NeedToReplace(const WString& search_text, const WString& replace_text, int current_page_index, const RectFArray& text_rect_array) = 0;
138
144 virtual void Release() = 0;
145
146 protected:
147 virtual ~ReplaceCallback() {}
148 };
156 class TextSearchReplace FS_FINAL : public Base {
157 public:
166 TextSearchReplace(const foxit::pdf::PDFDoc& doc);
167
168 // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
169 explicit TextSearchReplace(FS_HANDLE handle);
170
172 ~TextSearchReplace();
173
179 TextSearchReplace(const TextSearchReplace& other);
180
188 TextSearchReplace& operator=(const TextSearchReplace& other);
189
197 bool operator==(const TextSearchReplace& other) const;
198
206 bool operator!=(const TextSearchReplace& other) const;
207
215 bool IsEmpty() const;
216
228 void SetPattern(const WString& keywords, int page_index, const FindOption& find_option);
229
238 void SetReplaceCallback(ReplaceCallback* replace_callback);
239
248 bool ReplacePrev(const WString& replace_text);
249
258 bool ReplaceNext(const WString& replace_text);
259 };
260 }
261 }
262 }
263 #endif
foxit::addon::pageeditor::ReplaceCallback::NeedToReplace
virtual bool NeedToReplace(const WString &search_text, const WString &replace_text, int current_page_index, const RectFArray &text_rect_array)=0
用于验证是否需要替换文本的回调函数。
foxit::addon::pageeditor::FindOption::FindOption
FindOption(const FindOption &find_option)
拷贝构造函数。
Definition: fs_searchreplace.h:62
foxit::addon::pageeditor::FindOption::Set
void Set(bool is_whole_word, bool is_case_sensitive)
设置值。
Definition: fs_searchreplace.h:109
foxit::Object
CFX_Object Object
对象类型。
Definition: fs_basictypes.h:220
foxit::addon::pageeditor::TextSearchReplace
Definition: fs_searchreplace.h:156
fs_pdfdoc.h
PDF文档相关定义和类的头文件。
foxit::addon::pageeditor::TextSearchReplace::ReplaceNext
bool ReplaceNext(const WString &replace_text)
用替换文本替换下一个文本。
foxit::addon::pageeditor::TextSearchReplace::ReplacePrev
bool ReplacePrev(const WString &replace_text)
用替换文本替换上一个文本。
CFX_WideString
宽字符串类
Definition: fx_string.h:1457
foxit::addon::pageeditor::FindOption::FindOption
FindOption(bool is_whole_word, bool is_case_sensitive)
构造函数，带参数。
Definition: fs_searchreplace.h:47
foxit::addon::pageeditor::TextSearchReplace::SetReplaceCallback
void SetReplaceCallback(ReplaceCallback *replace_callback)
设置替换回调函数。
foxit::addon::pageeditor::TextSearchReplace::operator!=
bool operator!=(const TextSearchReplace &other) const
不等操作符。
foxit::pdf::PDFDoc
Definition: fs_pdfdoc.h:768
foxit::addon::pageeditor::TextSearchReplace::SetPattern
void SetPattern(const WString &keywords, int page_index, const FindOption &find_option)
设置关键字和页面索引以进行搜索和替换。
foxit::addon::pageeditor::FindOption::operator !=
bool operator !=(const FindOption &other) const
不等操作符。
Definition: fs_searchreplace.h:97
foxit::addon::pageeditor::ReplaceCallback::Release
virtual void Release()=0
用于释放当前回调对象本身的回调函数。
foxit::addon::pageeditor::TextSearchReplace::TextSearchReplace
TextSearchReplace(const foxit::pdf::PDFDoc &doc)
构造函数。
foxit::addon::pageeditor::ReplaceCallback
Definition: fs_searchreplace.h:124
foxit::addon::pageeditor::TextSearchReplace::operator=
TextSearchReplace & operator=(const TextSearchReplace &other)
赋值操作符。
foxit::addon::pageeditor::FindOption::is_whole_word
bool is_whole_word
布尔值，指定是否仅匹配整个单词。true 表示仅匹配整个单词，否则不匹配。
Definition: fs_searchreplace.h:115
foxit::addon::pageeditor::FindOption::is_case_sensitive
bool is_case_sensitive
布尔值，指定是否匹配大小写。true 表示匹配大小写，否则不匹配。
Definition: fs_searchreplace.h:118
CFX_ArrayTemplate< RectF >
foxit::addon::pageeditor::FindOption
Definition: fs_searchreplace.h:39
foxit::addon::pageeditor::TextSearchReplace::~TextSearchReplace
~TextSearchReplace()
析构函数。
foxit::FS_HANDLE
void * FS_HANDLE
句柄类型。
Definition: fs_basictypes.h:213
fs_common.h
通用定义和类的头文件。
foxit::addon::pageeditor::FindOption::FindOption
FindOption()
构造函数。
Definition: fs_searchreplace.h:53
foxit::addon::pageeditor::TextSearchReplace::IsEmpty
bool IsEmpty() const
检查当前对象是否为空。
foxit::Base
Definition: fs_basictypes.h:465
fs_pdfpage.h
PDF页面相关定义和类的头文件。
foxit
Foxit命名空间。
Definition: fs_taggedpdf.h:27
foxit::addon::pageeditor::TextSearchReplace::operator==
bool operator==(const TextSearchReplace &other) const
相等操作符。
foxit::addon::pageeditor::FindOption::operator=
FindOption & operator=(const FindOption &find_option)
赋值操作符。
Definition: fs_searchreplace.h:74
foxit::addon::pageeditor::FindOption::operator==
bool operator==(const FindOption &other) const
相等操作符。
Definition: fs_searchreplace.h:87