Hi,
我使用如下代码,将doc文件保存成pdf文件,同时显示保存的进度,但是doc文件的每一页都单独生成了一个pdf文件,我该如何控制让doc文件生成一个pdf文件呢?
示例代码如下:(InFilePath为输入文件路径,InPassword为输入文件的密码,outFilePath为需要保存的pdf文件路径)
auto doc = MakeObject(InFilePath, MakeObject(InPassword));
auto callback = MakeObject();
callback->m_hWnd = m_hWnd;
callback->m_nPageCount = doc->get_PageCount();
auto saveOptions = MakeObject();
saveOptions->set_PageSavingCallback(callback);
doc->Save(outFilePath, saveOptions);
其中PageSavingCallback代码如下:
class PageSavingCallback : public IPageSavingCallback
{
void PageSaving(SharedPtr args) override
{
int nIndex = args->get_PageIndex();
::PostMessage(m_hWnd, UM_PROCESS, nIndex + 1, m_nPageCount);
}
public:
HWND m_hWnd = nullptr; // 窗口句柄
int m_nPageCount = 0; // doc总页数
};