将 Word DOCX 转换为 PDF

欢迎再次来到文件格式 API 之家!最近,我写了几篇博客文章,介绍了在 .NET(使用 C#)和 Java 应用程序中以编程方式将 Word(DOC/DOCX)转换为 PDF 的各种场景。由于这是一个流行且广泛使用的特性,我想也将它用于 C++。因此,在这篇文章中,我将向您展示如何在 C++ 应用程序中将 Word DOC/DOCX 转换为 PDF。本文介绍了以下 Word 到 PDF 的转换:

  • C++ 中的简单 Word DOC/DOCX 到 PDF。
  • DOCX 到具有特定标准的 PDF,即 PDF 1.5、PDF/A-1a 等。
  • 将 DOCX 的选定页面转换为 PDF。
  • 将 DOCX 中的图像/文本压缩应用于 PDF 转换。

C++ Word 到 PDF 转换器库

Aspose.Words for C++ 是一个高级库,无需 MS Word 即可在 C++ 应用程序中创建和操作 Word 文档格式。您可以通过 NuGet下载 安装它,包含库文件以及准备运行源代码示例的完整包。

在 C++ 中将 Word DOC/DOCX 转换为 PDF

使用 Aspose.Words for C++ 将 Word 文档转换为 PDF 非常简单。以下是将 DOC/DOCX 文件转换为 PDF 的步骤。

  • 创建一个 Document 类的对象,并使用 Word 文档的路径对其进行初始化。
  • 调用 Document->Save() 方法将文档保存为 PDF。

以下代码示例展示了如何在 C++ 中将 DOCX 转换为 PDF。

// 从磁盘加载文档。
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// 设置输出PDF路径
System::String outputPath =  u"DOCX-to-PDF.pdf";
// 将 DOCX 转换为 PDF
doc->Save(outputPath);
std::cout << "Converted DOCX to PDF successfuly.";

输入 Word 文档

DOCX 到 PDF C++

转换后的 PDF 文档

在 C++ 中将 DOC 转换为 PDF

在 C++ 中将 DOCX 转换为 PDF/A 或其他 PDF 标准

PDF 格式支持各种 PDF 标准,包括 PDF/A、PDF/E 等。当您需要将 Word 文件转换为特定标准(例如 PDF/A-1a)时,可能会出现这种情况。在这种情况下,Aspose.Words for C++ 允许您为转换后的 PDF 设置所需的 PDF 标准。以下是在 Word 到 PDF 转换中设置 PDF 标准的步骤:

以下代码示例展示了如何使用 PDF/A-1a 标准将 Word DOCX 转换为 PDF。

// 从磁盘加载文档。
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// 设置输出PDF路径
System::String outputPath =  u"DOCX-to-PDFA.pdf";
// 设置 PDF 选项
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
options->set_Compliance(PdfCompliance::PdfA1a);
// 将文档保存为 PDF 格式。
doc->Save(outputPath, options);
std::cout << "Converted DOCX to PDF/A successfuly.";

在 C++ 中将选定的 Word 页面转换为 PDF

您也可以只转换选定的页面,而不是将整个 Word 转换为 PDF。以下是仅将所需的 Word 页面转换为 PDF 的步骤:

  • 使用 Document 类加载 Word 文档。
  • 使用 PdfSaveOptions->setPageIndex() 方法设置起始页的索引。
  • 使用 PdfSaveOptions->setPageCount() 方法设置要转换的页数。
  • 使用 Document->Save() 方法将文档保存为 PDF。

以下代码示例展示了如何在 C++ 中将 DOCX 的选定页面转换为 PDF。

// 从磁盘加载文档。
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// 设置输出PDF路径
System::String outputPath =  u"DOCX-to-PDF.pdf";
// 设置 PDF 选项
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
options->set_PageIndex(1);
options->set_PageCount(2);
// 将文档保存为 PDF 格式。
doc->Save(outputPath, options);

将 DOCX 中的图像/文本压缩应用到 PDF 转换

您还可以压缩生成的 PDF 文档以减小其大小。 Aspose.Words for C++ 允许您分别使用 PdfSaveOptions->setTextCompression()PdfSaveOptions->setImageCompression() 方法应用文本和图像压缩。以下代码示例显示了在 C++ 中将 DOCX 转换为 PDF 时如何应用压缩。

// 从磁盘加载文档。
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// 设置输出PDF路径
System::String outputPath =  u"DOCX-to-PDF.pdf";
// 设置 PDF 选项
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
// 设置 JPEG 质量
options->set_JpegQuality(100);
// 将文档保存为 PDF 格式
doc->Save(outputPath, options);

了解更多关于 Aspose.Words for C++

您可以使用 文档 探索更多关于 Aspose.Words for C++ 的信息。如果您发现任何令人困惑的事情,请随时通过我们的 论坛 告诉我们。

也可以看看