再次歡迎來到文件格式 API 主頁!最近,我寫了幾篇博文來介紹在 .NET(使用 C#)和 Java 應用程序中以編程方式將 Word (DOC/DOCX) 轉換為 PDF 的各種場景。由於這是一個流行和廣泛使用的特性,我想也為 C++ 涵蓋它。因此,在本文中,我將向您展示如何在 C++ 應用程序中將 Word DOC/DOCX 轉換為 PDF。本文介紹了以下 Word 到 PDF 的轉換:
- C++ 中的簡單 Word DOC/DOCX 到 PDF。
- DOCX 到具有特定標準的 PDF,即 PDF 1.5、PDF/A-1a 等。
- 將 DOCX 的選定頁面轉換為 PDF。
- 在 DOCX 中應用圖像/文本壓縮到 PDF 轉換。
C++ Word 到 PDF 轉換器庫
Aspose.Words for C++ 是一個高級庫,無需 MS Word 即可在 C++ 應用程序中創建和操作 Word 文檔格式。您可以通過 NuGet 或 下載 安裝它,完整的包包含庫文件以及準備運行的源代碼示例。
在 C++ 中將 Word DOC/DOCX 轉換為 PDF
使用 Aspose.Words for C++ 將 Word 文檔轉換為 PDF 非常簡單。以下是將 DOC/DOCX 文件轉換為 PDF 的步驟。
- 創建一個 Document 類的對象並使用 Word 文檔的路徑對其進行初始化。
- 調用 Document->Save() 方法將文檔保存為 PDF。
以下代碼示例顯示瞭如何在 C++ 中將 DOCX 轉換為 PDF。
// 從磁盤加載文檔。
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// 設置輸出PDF路徑
System::String outputPath = u"DOCX-to-PDF.pdf";
// 將 DOCX 轉換為 PDF
doc->Save(outputPath);
std::cout << "Converted DOCX to PDF successfuly.";
輸入Word文檔
轉換後的 PDF 文檔
在 C++ 中將 DOCX 轉換為 PDF/A 或其他 PDF 標準
PDF 格式支持各種 PDF 標準,包括 PDF/A、PDF/E 等。當您需要將 Word 文件轉換為特定標準(如 PDF/A-1a)時,可能會有這種情況。在這種情況下,Aspose.Words for C++ 允許您為轉換後的 PDF 設置所需的 PDF 標準。以下是在Word轉PDF中設置PDF標準的步驟:
- 創建一個 Document 類的對象並使用 DOCX 文件的路徑對其進行初始化。
- 創建 PdfSaveOptions 類的對象並使用 PdfSaveOptions->setCompliance() 方法設置 PDF 合規性。
- 調用 Document->Save() 方法將文檔保存為 PDF。
以下代碼示例顯示瞭如何將 Word DOCX 轉換為符合 PDF/A-1a 標準的 PDF。
// 從磁盤加載文檔。
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// 設置輸出PDF路徑
System::String outputPath = u"DOCX-to-PDFA.pdf";
// 設置 PDF 選項
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
options->set_Compliance(PdfCompliance::PdfA1a);
// 將文檔保存為 PDF 格式。
doc->Save(outputPath, options);
std::cout << "Converted DOCX to PDF/A successfuly.";
在 C++ 中將 Word 的選定頁面轉換為 PDF
您也可以只轉換選定的頁面,而不是將整個 Word 轉換為 PDF。以下是僅將所需的 Word 頁面轉換為 PDF 的步驟:
- 使用 Document 類加載 Word 文檔。
- 使用 PdfSaveOptions->setPageIndex() 方法設置起始頁的索引。
- 使用 PdfSaveOptions->setPageCount() 方法設置要轉換的頁數。
- 使用 Document->Save() 方法將文檔保存為 PDF。
以下代碼示例顯示瞭如何在 C++ 中將選定的 DOCX 頁面轉換為 PDF。
// 從磁盤加載文檔。
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// 設置輸出PDF路徑
System::String outputPath = u"DOCX-to-PDF.pdf";
// 設置 PDF 選項
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
options->set_PageIndex(1);
options->set_PageCount(2);
// 將文檔保存為 PDF 格式。
doc->Save(outputPath, options);
將 DOCX 中的圖像/文本壓縮應用於 PDF 轉換
您還可以壓縮生成的 PDF 文檔以減小其大小。 Aspose.Words for C++ 允許您分別使用 PdfSaveOptions->setTextCompression() 和 PdfSaveOptions->setImageCompression() 方法應用文本和圖像壓縮。以下代碼示例顯示了在 C++ 中將 DOCX 轉換為 PDF 時如何應用壓縮。
// 從磁盤加載文檔。
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// 設置輸出PDF路徑
System::String outputPath = u"DOCX-to-PDF.pdf";
// 設置 PDF 選項
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
// 設置 JPEG 質量
options->set_JpegQuality(100);
// 將文檔保存為 PDF 格式
doc->Save(outputPath, options);
了解有關 Aspose.Words for C++ 的更多信息
您可以使用 文檔 探索更多關於 Aspose.Words for C++ 的信息。如果您發現任何令人困惑的地方,請隨時通過我們的 論壇 告訴我們。