合并 XPS 文件 | Aspose.Page 提供 C++
您可以通过免费在线工具 XPS 合并器
Aspose.Page C++ XPS 合并器允许在 Windows 和 Linux 系统中将 XPS 文件合并为 XPS 文档。
执行 XPS 合并需要执行以下几个步骤:
- 从第一个 XPS 文件创建 XpsDocument 实例。
- 创建一个将与第一个 XPS 文件合并的 XPS 文件数组。
- 使用 Merge 将 XPS 文件与创建的文档合并并保存。
以下代码片段展示了如何在 C++ 中合并 XPS 文件:
1 // The path to the documents directory.
2 System::String dataDir = RunExamples::GetDataDir_WorkingWithDocumentMerging();
3
4 // Load XPS document from XPS file
5 System::SharedPtr<XpsDocument> document = System::MakeObject<XpsDocument>(dataDir + u"input.xps", System::MakeObject<XpsLoadOptions>());
6
7 // Create an array of XPS files that will be merged with the first one
8 System::ArrayPtr<System::String> filesToMerge = System::MakeArray<System::String>({dataDir + u"Demo.xps", dataDir + u"sample.xps"});
9
10 // Merge XPS files to output XPS document
11 document->Merge(filesToMerge, dataDir + u"mergedXPSfiles.xps");
Aspose.Page C++ XPS 合并器还允许在 Windows 和 Linux 上将 XPS 文件合并为 PDF 文档。
执行 XPS 到 PDF 合并需要执行以下几个步骤:
- 从第一个 XPS 文件创建 XpsDocument 实例。
- 创建一个将与第一个 XPS 文件合并的 XPS 文件数组。
- 指定 PdfSaveOptions 的 TextCompression、ImageCompression、JpegQualityLevel 和其他选项。
- 使用 MergeToPdf 将 XPS 文件与创建的文档合并,并使用 PDF 保存选项将其保存为 PDF。
以下代码片段展示了如何在 C++ 中将 XPS 文件合并为 PDF 文档:
1//For complete examples and data files, please go to https://github.com/aspose-page/Aspose.Page-for-C
2 // The path to the documents directory.
3 System::String dataDir = RunExamples::GetDataDir_WorkingWithDocumentMerging();
4
5 // Load XPS document form the XPS file
6 System::SharedPtr<XpsDocument> document = System::MakeObject<XpsDocument>(dataDir + u"input.xps", System::MakeObject<XpsLoadOptions>());
7
8 // Initialize options object with necessary parameters.
9 System::SharedPtr<Aspose::Page::XPS::Presentation::Pdf::PdfSaveOptions> options = System::MakeObject<Aspose::Page::XPS::Presentation::Pdf::PdfSaveOptions>();
10 options->set_JpegQualityLevel(100);
11 options->set_ImageCompression(Aspose::Page::XPS::Presentation::Pdf::PdfImageCompression::Jpeg);
12 options->set_TextCompression(Aspose::Page::XPS::Presentation::Pdf::PdfTextCompression::Flate);
13
14 // Create an array of XPS files that will be merged with the first one
15 System::ArrayPtr<System::String> filesToMerge = System::MakeArray<System::String>({dataDir + u"Demo.xps", dataDir + u"sample.xps"});
16
17 // Merge XPS files to output PDF file
18 document->MergeToPdf(filesToMerge, dataDir + u"mergedXPSfiles.pdf", options);
我们来看一下
PdfSaveOptions。使用这个类,我们可以在将 XPS 合并为 PDF 时指定不同的转换参数。
- 如果 ImageCompression 算法为 JPEG,则 JpegQualityLevel 控制 PDF 文档中图像的质量,取值范围为 0 到 100。
- ImageCompression 算法封装在 PdfImageCompression 枚举中,可以是运行长度编码 (RLE)、Flate、带有基本或优化预测器的 Lempel-Ziv-Welch (LZW)、JPEG、none(原始图像字节)和 auto(针对每幅图像采用最合适的压缩方式)。默认为自动压缩。
- TextCompression 算法封装在 PdfTextCompression 枚举中,可以是运行长度编码 (RLE)、Flate、Lempel-Ziv-Welch (LZW) 或 None。XPS 到 PDF 合并的默认值为 Flate。
- EncryptionDetails 封装在 PdfEncryptionDetails 中。它允许设置 PDF 文档的加密算法、权限、所有者和用户密码。
- OutlineTreeExpansionLevel 和 OutlineTreeHeight 控制文档大纲的视图。