
PDF 因其一致的佈局而成為共享和打印文檔的流行格式。但是,您可能會發現自己處於想要生成 PDF 文件的封面圖像或將其頁面嵌入網頁的情況。在這種情況下,將 PDF 文件轉換為圖像格式會很有幫助。為此,本文將教您如何使用 C++ 將 PDF 頁面轉換為 PNG 圖像。
用於將 PDF 頁面轉換為 PNG 圖像的 C++ API
Aspose.PDF for C++ 是一個 C++ 庫,允許您創建、閱讀和更新 PDF 文檔。此外,API 支持將 PDF 頁面轉換為 PNG 圖像。您可以通過 NuGet 安裝 API 或直接從 下載 部分下載。
PM> Install-Package Aspose.PDF.Cpp
使用 C++ 將 PDF 頁面轉換為 PNG 圖像
以下是將 PDF 頁面轉換為 PNG 圖像的步驟。
- 使用 Document 類加載 PDF 文件。
- 遍歷 PDF 文件的頁面。
- 在循環中,為輸出圖像創建 FileStream 類的實例。
- 創建 Resolution 類的實例。
- 創建 PngDevice 類的實例。
- 使用 [進程 (System::SharedPtr頁面,System::SharedPtrSystem::IO::Stream PngDevice類的output)]10方法,保存PDF頁面的圖片。
以下示例代碼演示瞭如何使用 C++ 將 PDF 文件的頁面保存為 PNG 圖像。
// 加載 PDF 文件
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");
// 遍歷 PDF 頁面
for (auto page : pdfDocument->get_Pages())
{
// 創建 FileStream 類的實例
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));
// 創建 Resolution 類的實例
auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300);
// 創建 PngDevice 類的實例
auto pngDevice = MakeObject<Aspose::Pdf::Devices::PngDevice>(500, 700, resolution);
// 將頁面另存為圖像
pngDevice->Process(page, imageStream);
// 關閉流
imageStream->Close();
}
使用 C++ 將單個 PDF 頁面轉換為 PNG 圖像
以下是將單頁 PDF 文件轉換為 PNG 圖像的步驟。
- 使用 Document 類加載 PDF 文件。
- 使用 Document->getPages()->idxget(int32t index) 方法檢索要轉換的頁面。
- 為輸出圖像創建 FileStream 類的實例。
- 實例化 Resolution 類的對象。
- 創建 PngDevice 類的實例。
- 使用 [進程 (System::SharedPtr頁面,System::SharedPtrSystem::IO::Stream PngDevice類的output)]17方法,保存PDF頁面的圖片。
以下示例代碼顯示瞭如何使用 C++ 將單個 PDF 頁面轉換為 PNG 圖像。
// 加載 PDF 文件
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");
// 檢索第一頁
auto page = pdfDocument->get_Pages()->idx_get(1);
// 創建 FileStream 類的實例
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));
// 創建 Resolution 類的實例
auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300);
// 創建 PngDevice 類的實例
auto pngDevice = MakeObject<Aspose::Pdf::Devices::PngDevice>(500, 700, resolution);
// 將頁面另存為圖片
pngDevice->Process(page, imageStream);
// 關閉流
imageStream->Close();
獲得免費許可證
您可以通過申請 免費的臨時許可證 來試用沒有評估限制的 API。
結論
在本文中,您學習瞭如何使用 C++ 將 PDF 文件的頁面轉換為 PNG 圖像。您可以將 PDF 文件的所有頁面或選定頁面轉換為 PNG 圖像。 Aspose.PDF for C++ 是一個強大的 API,具有許多用於自動化 PDF 相關工作流程的附加功能。您可以通過訪問 官方文檔 來詳細探索 API。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。