PDF 是当今使用的最通用且功能最丰富的文件格式之一。与 Word 相比,PDF 文档在各种设备上打开时丢失格式的可能性极低。此外,PDF在文档安全、归档和传输方面相比Word具有绝对的优势。这些就是我们为什么要将 Word 转换为 PDF 的一些原因。在本文中,您将学习如何将 Word 转换为 PDF 以及如何使用 Spire.Doc for C++ 在 C++ 中设置转换选项。
安装 Spire.Doc for C++
有两种方法可以将 Spire.Doc for C++ 集成到您的应用程序中。一种方法是通过 NuGet 安装它,另一种方法是从我们的网站下载包并将库复制到您的程序中。通过 NuGet 安装更简单,更推荐使用。您可以通过访问以下链接找到更多详细信息。
如何将 Spire.Doc for C++ 集成到 C++ 程序中
将 Doc 或 Docx 转换为 PDF
Spire.Doc for C++ 提供的 Document->SaveToFile(LPCWSTR_S fileName, FileFormat fileFormat) 方法允许将 Word 另存为 PDF、XPS、HTML、RTF 等。如果您只想将 Word 文档另存为常规 PDF 而无需额外设置 , 请按照以下步骤操作。
- 创建 Doucment 对象。
- 使用 Document->LoadFromFile() 方法加载示例 Word 文件。
- 使用 Doucment->SaveToFile() 方法将文档保存为 PDF。
- C++
#include "Spire.Doc.o.h";
using namespace Spire::Doc;
using namespace std;
int main() {
//指定输入文件路径
wstring inputFilePath = L"C:\\Users\\Administrator\\Desktop\\示例文档.docx";
//指定输出文件路径和名称
wstring outputPath = L"Output\\";
wstring outputFile = outputPath + L"ToPDF.pdf";
//创建Document对象
Document* document = new Document();
//加载 Word 文件
document->LoadFromFile(inputFilePath.c_str());
//将文档保存为 PDF
document->SaveToFile(outputFile.c_str(), FileFormat::PDF);
document->Close();
delete document;
}
将 Word 转换为带有书签的 PDF
书签可以增强文档的可读性。从 Word 生成 PDF 时,您可能希望保留 Word 文档的现有书签或从标题创建书签。以下是将 Word 转换为带书签的 PDF 的步骤。
- 创建 Document对象。
- 使用 Document->LoadFromFile() 方法加载示例 Word 文件。
- 创建一个 ToPdfParameterList 对象,用于设置转换选项。
- 使用 ToPdfParameterList.SetCreateWordBookmarksUsingHeadings() 方法从 Word 中的标题在 PDF 中创建书签。
- 使用 Doucment->SaveToFile(LPCWSTR_S fileName, ToPdfParameterList* paramList) 方法将文档保存为带有书签的 PDF。
- C++
#include "Spire.Doc.o.h";
using namespace Spire::Doc;
using namespace std;
int main() {
//指定输入文件路径
wstring inputFilePath = L"C:\\Users\\Administrator\\Desktop\\示例文档.docx";
//指定输出文件路径和名称
wstring outputPath = L"Output\\";
wstring outputFile = outputPath + L"ToPDF.pdf";
//创建Document对象
Document* document = new Document();
//加载 Word 文件
document->LoadFromFile(inputFilePath.c_str());
//创建 ToPdfParameterList 对象
ToPdfParameterList* parameters = new ToPdfParameterList();
//从 Word 标题创建书签
parameters->SetCreateWordBookmarksUsingHeadings(true);
//从 Word 中的现有书签创建 PDF 书签
//parameters->SetCreateWordBookmarks(true);
//将文档保存为 PDF
document->SaveToFile(outputFile.c_str(), parameters);
document->Close();
delete document;
}
将 Word 转换为 PDF 时嵌入字体
通过将 Word 文档中使用的字体嵌入到 PDF 文档中,可以确保 PDF 文档在任何未安装适当字体的设备上看起来都一样。在转换过程中将字体嵌入 PDF 的步骤如下。
- 创建 Document 对象。
- 使用 Document->LoadFromFile() 方法加载示例 Word 文件。
- 创建一个 ToPdfParameterList 对象,用于设置转换选项。
- 使用 ToPdfParameterList.SetIsEmbeddedAllFonts() 方法在生成的 PDF 中嵌入字体。
- 使用 Doucment->SaveToFile(LPCWSTR_S fileName, ToPdfParameterList* paramList) 方法将文档保存为 PDF。
- C++
#include "Spire.Doc.o.h";
using namespace Spire::Doc;
using namespace std;
int main() {
//指定输入文件路径
wstring inputFilePath = L"C:\\Users\\Administrator\\Desktop\\示例文档.docx";
//指定输出文件路径和名称
wstring outputPath = L"Output\\";
wstring outputFile = outputPath + L"ToPDF.pdf";
//创建Document对象
Document* document = new Document();
//加载 Word 文件
document->LoadFromFile(inputFilePath.c_str());
//创建 ToPdfParameterList 对象
ToPdfParameterList* parameters = new ToPdfParameterList();
//在生成的 PDF 中嵌入 Word 中使用的字体
parameters->SetIsEmbeddedAllFonts(true);
//将文档保存为 PDF
document->SaveToFile(outputFile.c_str(), parameters);
document->Close();
delete document;
}
将 Word 转换为 PDF 时设置图像质量
包含大量高质量图像的文档通常尺寸较大。当您将 Word 转换为 PDF 时,您可以决定是否压缩图像质量。以下是详细步骤。
- 创建 Document对象。
- 使用 Document->LoadFromFile() 方法加载示例 Word 文件。
- 使用 Document->SetJPEGQuality() 方法设置图像质量
- 使用 Doucment->SaveToFile() 方法将文档保存为 PDF。
- C++
#include "Spire.Doc.o.h";
using namespace Spire::Doc;
using namespace std;
int main() {
//指定输入文件路径
wstring inputFilePath = L"C:\\Users\\Administrator\\Desktop\\示例文档.docx";
//指定输出文件路径和名称
wstring outputPath = L"Output\\";
wstring outputFile = outputPath + L"ToPDF.pdf";
//创建 Document 对象
Document* document = new Document();
//加载 Word 文件
document->LoadFromFile(inputFilePath.c_str());
//将图像压缩到原始质量的 40%
document->SetJPEGQuality(40);
//保持原始图像质量
//document->SetJPEGQuality(100);
//将文档保存为 PDF
document->SaveToFile(outputFile.c_str(), FileFormat::PDF);
document->Close();
delete document;
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。