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 的任何方面有任何疑問,請隨時通過我們的 免費支持論壇 與我們聯繫。

也可以看看