PDF 文件格式适用于大多数场合。但是,您仍然可能会遇到需要将 PDF 转换为图像的情况。将某个 PDF 页面转换为图像后,您可以将其发布到社交媒体上,将其上传或传输到只能显示图像的设备中,或者将其插入到您的 Word 文档或 PowerPoint 演示文稿中。在本文中,您将学习如何使用 Spire.PDF for C++ 在 C++ 中以编程方式将 PDF 转换为图像。
安装 Spire.PDF for C++
有两种方法可以将 Spire.PDF for C++ 集成到您的应用程序中。一种方法是通过 NuGet 安装它,另一种方法是从我们的网站下载包并将库复制到您的程序中。通过 NuGet 安装更简单,更推荐使用。您可以通过访问以下链接找到更多详细信息。
如何将 Spire. PDF for C++ 集成到 C++ 程序中
将指定页面转换为图像
Spire.PDF for C++ 提供 PdfDocument->SaveAsImage(int pageIndex) 方法将特定页面转换为图像流。然后可以将流保存为具有所需扩展名(如 PNG、JPG 和 BMP)的图像文件。以下是详细步骤。
- 创建一个 PdfDocument 实例。
- 使用 PdfDocument->LoadFromFile() 方法加载 PDF 文件。
- 使用 PdfDocument->SaveAsImage() 方法将特定页面转换为图像流。
- 使用 Stream->Save() 方法将图像流保存为 JPG 文件。
- C++
#include "Spire.Pdf.o.h";
using namespace Spire::Pdf;
using namespace std;
int main() {
//指定输入和输出文件路径
wstring inputFile = L"C:\\Users\\Administrator\\Desktop\\示例文档.pdf";
wstring outputFile = L"C:\\Users\\Administrator\\Desktop\\Output\\ToImage";
//创建一个 PdfDocument 对象
PdfDocument* doc = new PdfDocument();
//加载 PDF 文件
doc->LoadFromFile(inputFile.c_str());
//将特定页面转换为图像
Stream* image = doc->SaveAsImage(0, PdfImageType::Bitmap);
//将图像写入 .jpg 文件
wstring fileName = outputFile + L".jpg";
image->Save(fileName.c_str());
doc->Close();
delete doc;
}
将整个 PDF 转换为多个图像
为了将整个 PDF 保存为单独的图像,您只需将转换部分放在循环语句中。详细步骤如下。
- 创建一个 PdfDocument 实例。
- 使用 PdfDocument->LoadFromFile() 方法加载 PDF 文件。
- 遍历文档中的页面并使用 PdfDocument->SaveAsImage(int pageIndex) 方法将每个页面转换为图像流。
- 使用 Stream->Save() 方法将图像流保存为 JPG 文件。
- C++
#include "Spire.Pdf.o.h";
using namespace Spire::Pdf;
using namespace std;
int main() {
//指定输入和输出文件路径
wstring inputFile = L"C:\\Users\\Administrator\\Desktop\\示例文档.pdf";
wstring outputFile = L"C:\\Users\\Administrator\\Desktop\\Output\\ToImg-";
//创建一个 PdfDocument 对象
PdfDocument* doc = new PdfDocument();
//加载 PDF 文件
doc->LoadFromFile(inputFile.c_str());
//遍历文档中的页面
for (int i = 0; i < doc->GetPages()->GetCount(); i++) {
//将选定页面另存为图像
Stream* image = doc->SaveAsImage(i);
//将图像写入 .jpg 文件
wstring fileName = outputFile + to_wstring(i) + L".jpg";
image->Save(fileName.c_str());
}
doc->Close();
delete doc;
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。