使用 C++ 将 PostScript 文件合并为 PDF
您可以通过免费在线工具 PostScipt Merger
Aspose.Page for C++ PS 合并器允许在 Windows 和 Linux 系统上将 PostScript (PS) 文件合并为 PDF 文档。
执行 PS 到 PDF 合并需要执行以下几个步骤:
- 从第一个 PostScript 文件创建 PsDocument 实例。
- 创建一个将与第一个 PostScript 文件合并的 PS 文件数组。
- 使用 PdfSaveOptions 指定 AdditionalFontsFolder 和 SuppressError 布尔值。
- 使用 MergeToPdf 将 PS 文件与创建的文档合并,并使用 PDF 保存选项将其保存为 PDF。
- 如果 SuppressErrors 值为 true(默认情况下),则可以查看将 PostScript 文件合并为 PDF 文档时引发的错误,并将其保存在 Exceptions 列表中。
以下代码片段展示了如何在 C++ 中将 PS 文件合并为 PDF 文档:
1 // The path to the documents directory.
2 System::String dataDir = RunExamples::GetDataDir_WorkingWithDocumentMerging();
3
4 // Initialize PS document with the first PostScript file
5 System::SharedPtr<PsDocument> document = System::MakeObject<PsDocument>(dataDir + u"input.ps");
6
7 // Create an array of PostScript files that will be merged with the first one
8 System::ArrayPtr<System::String> filesForMerge = System::MakeArray<System::String>({dataDir + u"input2.ps", dataDir + u"input3.ps"});
9
10 // If you want to convert Postscript file despite of minor errors set this flag
11 bool suppressErrors = true;
12
13 //Initialize options object with necessary parameters.
14 System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>(suppressErrors);
15 // If you want to add special folder where fonts are stored. Default fonts folder in OS is always included.
16 options->set_AdditionalFontsFolders(System::MakeArray<System::String>({u"{FONT_FOLDER}"}));
17
18 // Default page size is 595x842 and it is not mandatory to set it in SaveOptions
19 // But if you need to specify the page size following line
20 //PdfSaveOptions options = new PdfSaveOptions(suppressErrors, new Aspose.Page.Drawing.Size(595, 842));
21
22 document->MergeToPdf(dataDir + u"outputPDF_out.pdf", filesForMerge, options);
23
24 //Review errors
25 if (suppressErrors)
26 {
27 for (auto&& ex : System::IterateOver(options->get_Exceptions()))
28 {
29 System::Console::WriteLine(ex->get_Message());
30 }
31 }
我们来看一下
PdfSaveOptions。使用此类,我们可以在将 PS 合并为 PDF 时指定不同的转换参数。
- AdditionalFontsFolder 指定字体的位置。默认情况下,始终包含系统字体文件夹。
- SuppressError 控制出现非严重错误时 PS 合并为 PDF 的行为。如果值为 true,则可以在合并后在 Exceptions 字段中查看此类错误列表。默认值为 true。
- Debug 允许将调试信息输出到控制台。默认值为 false。