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 文件中提取圖像
以下是從 PDF 文件中提取圖像的步驟。
- 使用 Document 類加載 PDF 文檔。
- 使用 Document->getPages() 方法獲取文檔的頁面並迭代它們。
- 使用 page->getResources()->getImages() 方法獲取每個頁面的圖像並迭代它們。
- 為每個圖像創建一個 FileStream 對象並將其保存為 JPEG、PNG 等。
以下示例代碼演示瞭如何使用 C++ 從 PDF 文件中提取圖像。
// 加載 PDF 文檔
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\SampleImages2.pdf");
// 初始化圖像計數器
int imageCounter = 1;
// 遍歷文檔的頁面
for (auto page : pdfDocument->get_Pages())
{
// 遍歷頁面的圖像
for (auto image : page->get_Resources()->get_Images())
{
// 創建 FileStream 的實例
System::SharedPtr<System::IO::FileStream> outputImage = System::IO::File::Create(String::Format(u"OutputDirectory\\Image{0}.jpg", imageCounter));
// 保存圖像
image->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());
// 關閉文件流
outputImage->Close();
// 增加圖像計數器
imageCounter++;
}
}
獲得免費許可證
您可以通過申請 免費的臨時許可證 來試用沒有評估限制的 API。
結論
在本文中,您學習瞭如何使用 C++ 從 PDF 文件中提取圖像。我們使用強大且易於使用的 Aspose.PDF for C++ API 來實現這一點。該 API 提供了一系列用於處理 PDF 文件的附加功能,您可以通過訪問 官方文檔 詳細了解這些功能。如果您對 API 的任何方面有任何疑問,請隨時通過我們的 免費支持論壇 與我們聯繫。