#ifndef _FS_OFFICE2PDF_C_H_
#define _FS_OFFICE2PDF_C_H_

#ifdef __cplusplus
extern "C" {
#endif

#include "fs_basictypes_c.h"
#include "fs_common_c.h"

typedef struct _FSWord2PDFConfig {
  FS_BOOL is_generate_bookmark;
}FSWord2PDFConfig;

typedef struct _FSExcel2PDFConfig {
  FS_BOOL is_separate_workbook;
  FS_BOOL is_output_hidden_worksheets;
  FS_WSTR* worksheet_names_array;
  FS_UINT32 worksheet_names_array_length;
}FSExcel2PDFConfig;

typedef struct _FSOffice2PDFSettingData {
  FS_WSTR resource_folder_path;
  FS_BOOL is_embed_font;
  FSWord2PDFConfig word_setting_data;
  FSExcel2PDFConfig excel_setting_data;
}FSOffice2PDFSettingData;

FSErrorCode FSDK_Office2PDF_Initialize(const wchar_t* library_path);
FSErrorCode FSDK_Office2PDF_Release();
FSErrorCode FSDK_Office2PDF_GetVersion(FS_BSTR* return_value);
FSErrorCode FSDK_Office2PDF_ConvertFromWord(const wchar_t* src_word_file_path, const wchar_t* src_file_password, const wchar_t* saved_pdf_path, const FSOffice2PDFSettingData setting_data, FS_BOOL* return_value);
FSErrorCode FSDK_Office2PDF_ConvertFromWord0( FSReaderCallback* src_word_reader, const wchar_t* src_file_password, FSStreamCallback* saved_pdf_file_stream, const FSOffice2PDFSettingData setting_data, FS_BOOL* return_value);
FSErrorCode FSDK_Office2PDF_ConvertFromExcel(const wchar_t* src_excel_file_path, const wchar_t* src_file_password, const wchar_t* saved_pdf_path, const FSOffice2PDFSettingData setting_data, FS_BOOL* return_value);
FSErrorCode FSDK_Office2PDF_ConvertFromExcel0( FSReaderCallback* src_excel_reader, const wchar_t* src_file_password, FSStreamCallback* saved_pdf_file_stream, const FSOffice2PDFSettingData setting_data, FS_BOOL* return_value);
FSErrorCode FSDK_Office2PDF_ConvertFromPowerPoint(const wchar_t* src_ppt_file_path, const wchar_t* src_file_password, const wchar_t* saved_pdf_path, const FSOffice2PDFSettingData setting_data, FS_BOOL* return_value);
FSErrorCode FSDK_Office2PDF_ConvertFromPowerPoint0( FSReaderCallback* src_ppt_reader, const wchar_t* src_file_password, FSStreamCallback* saved_pdf_file_stream, const FSOffice2PDFSettingData setting_data, FS_BOOL* return_value);
#ifdef __cplusplus
}
#endif
#endif
