PDF 是一種用於在互聯網上共享文檔的標準格式。其全球支持和一致的佈局使其成為此類場景的理想選擇。但在某些情況下,共享完整的 PDF 文件可能不是理想或合適的選擇。對於此類情況,您可以根據需要拆分 PDF 文件。您可以手動執行此操作,但這可能會證明效率較低且耗時。或者,您可以以編程方式拆分 PDF 文檔。在本文中,您將學習如何使用 C++ 拆分 PDF 文件。
用於拆分 PDF 文件的 C++ API
Aspose.PDF for C++ 是一個 C++ 庫,允許您創建、閱讀和更新 PDF 文檔。此外,API 支持將 PDF 文件拆分為多個文檔。您可以通過 NuGet 安裝 API 或直接從 下載 部分下載。
PM> Install-Package Aspose.PDF.Cpp
使用 C++ 拆分 PDF 文件
Aspose.PDF for C++ 允許您將 PDF 文件的每一頁保存為單獨的 PDF 文檔。以下是使用 C++ 實現此目的的步驟。
- 使用 Document 類加載源 PDF 文件。
- 使用 Document->getPages() 方法循環遍歷源 PDF 文件的頁面。
- 在循環中,創建 Document 類的一個實例來表示新的 PDF 文件。
- 將循環中檢索到的 Page 添加到新創建的 Document 對像中。
- 使用 Document->Save (System::String outputFileName) 方法保存新的 PDF 文件。
以下是使用 C++ 拆分 PDF 文件的示例代碼。
// 加載PDF文件
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");
// 頁面計數器
int pageCount = 1;
// 循環遍歷所有頁面
for (auto page : pdfDocument->get_Pages())
{
// 創建新文檔
auto newDoc = MakeObject<Document>();
// 向文檔添加頁面
newDoc->get_Pages()->Add(page);
// 另存為 PDF
newDoc->Save(u"OutputDirectory\\Sample_Page_" + System::Convert::ToString(pageCount) + u"_out.pdf");
pageCount++;
}
使用 C++ 拆分選定的 PDF 頁面
您可以指定不同的條件來拆分 PDF 文件,而不是單獨保存每個頁面。以下是使用 C++ 拆分所選 PDF 頁面的步驟。
- 使用 Document 類加載源 PDF 文件。
- 創建 Document 類的一個實例來表示新的 PDF 文件。
- 使用 Document->getPages() 方法循環瀏覽源 PDF 文件的頁面。
- 將所需的頁面添加到新創建的 Document 對像中。
- 使用 Document->Save (System::String outputFileName) 方法保存新的 PDF 文件。
以下是使用 C++ 拆分特定 PDF 頁面的示例代碼。
// 加載PDF文件
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");
// 創建新文檔
auto newDoc = MakeObject<Document>();
// 頁面計數器
int pageCount = 1;
// 循環遍歷所有頁面
for (auto page : pdfDocument->get_Pages())
{
// 只獲取偶數頁
if (pageCount % 2 == 0)
{
// 向文檔添加頁面
newDoc->get_Pages()->Add(page);
}
pageCount++;
}
// 另存為 PDF
newDoc->Save(u"OutputDirectory\\Sample_Even_Pages_out.pdf");
獲得免費許可證
您可以通過申請 免費的臨時許可證 來試用沒有評估限制的 API。
結論
在本文中,您學習瞭如何使用 C++ 將 PDF 文件拆分為單獨的頁面。此外,您還學習瞭如何使用自定義條件來自定義 PDF 文件的拆分。 Aspose.PDF for C++ 是一個龐大的庫,具有許多用於處理 PDF 文件的附加功能。您可以使用 官方文檔 詳細探索 API。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。