14 #ifndef FS_PDF2OFFICE_H_
15 #define FS_PDF2OFFICE_H_
16 #if defined(_WIN32) || defined(_WIN64) || (defined(__linux__) && !defined(__ANDROID__))
32 namespace conversion {
36 namespace pdf2office {
38 class PDF2WordSettingData FS_FINAL :
public Object{
42 :enable_retain_page_layout(false) { }
52 PDF2WordSettingData(
bool enable_retain_page_layout) {
53 this->enable_retain_page_layout = enable_retain_page_layout;
63 PDF2WordSettingData & operator = (
const PDF2WordSettingData & data) {
64 enable_retain_page_layout = data.enable_retain_page_layout;
77 void Set(
bool enable_retain_page_layout) {
78 this->enable_retain_page_layout = enable_retain_page_layout;
88 bool enable_retain_page_layout;
92 class PDF2OfficeSettingData FS_FINAL :
public Object {
95 PDF2OfficeSettingData()
96 : enable_ml_recognition(false)
97 , include_pdf_comments(true) {}
120 PDF2OfficeSettingData(
const wchar_t* metrics_data_folder_path,
bool enable_ml_recognition,
const common::Range& page_range,
bool include_pdf_comments,
const PDF2WordSettingData& word_setting_data) {
121 this->metrics_data_folder_path = metrics_data_folder_path;
122 this->enable_ml_recognition = enable_ml_recognition;
123 this->page_range = page_range;
124 this->include_pdf_comments = include_pdf_comments;
125 this->word_setting_data = word_setting_data;
135 PDF2OfficeSettingData &operator = (
const PDF2OfficeSettingData& data) {
136 metrics_data_folder_path = data.metrics_data_folder_path;
137 enable_ml_recognition = data.enable_ml_recognition;
138 page_range = data.page_range;
139 include_pdf_comments = data.include_pdf_comments;
140 word_setting_data = data.word_setting_data;
168 void Set(
const wchar_t* metrics_data_folder_path,
bool enable_ml_recognition,
const common::Range &page_range,
bool include_pdf_comments,
const PDF2WordSettingData& word_setting_data) {
169 this->metrics_data_folder_path = metrics_data_folder_path;
170 this->enable_ml_recognition = enable_ml_recognition;
171 this->page_range = page_range;
172 this->include_pdf_comments = include_pdf_comments;
173 this->word_setting_data = word_setting_data;
182 WString metrics_data_folder_path;
196 bool enable_ml_recognition;
206 common::Range page_range;
215 bool include_pdf_comments;
223 PDF2WordSettingData word_setting_data;
230 class ConvertCallback {
237 virtual bool NeedToPause() = 0;
247 virtual void ProgressNotify(
int converted_count,
int total_count) = 0;
258 class PDF2Office FS_FINAL :
public Base {
270 static void Initialize(
const wchar_t* library_path);
279 static void Release();
304 static common::Progressive StartConvertToWord(
const wchar_t* src_pdf_path,
const wchar_t* src_pdf_password,
const wchar_t* saved_word_file_path,
305 const PDF2OfficeSettingData& setting_data, ConvertCallback* convert_callback =
NULL);
332 const PDF2OfficeSettingData& setting_data, ConvertCallback* convert_callback =
NULL);
357 static common::Progressive StartConvertToExcel(
const wchar_t* src_pdf_path,
const wchar_t* src_pdf_password,
const wchar_t* saved_excel_file_path,
358 const PDF2OfficeSettingData& setting_data, ConvertCallback* convert_callback =
NULL);
385 const PDF2OfficeSettingData& setting_data, ConvertCallback* convert_callback =
NULL);
410 static common::Progressive StartConvertToPowerPoint(
const wchar_t* src_pdf_path,
const wchar_t* src_pdf_password,
const wchar_t* saved_ppt_file_path,
411 const PDF2OfficeSettingData& setting_data, ConvertCallback* convert_callback =
NULL);
438 const PDF2OfficeSettingData& setting_data, ConvertCallback* convert_callback =
NULL);
447 #endif //defined(WIN32)