Mesclar ficheiros PostScript para PDF usando C++
Pode verificar a qualidade da fusão do Aspose.Page PS e visualizar os resultados online gratuitamente através do PostScipt Merger
A fusão do Aspose.Page para C++ PS permite fundir ficheiros PostScript (PS) em documentos PDF no Windows e Linux.
São necessários vários passos para realizar a fusão de PS para PDF:
- Crie uma instância de PsDocument a partir do primeiro ficheiro PostScript.
- Crie uma matriz de ficheiros PS que serão fundidos com o primeiro.
- Utilize PdfSaveOptions para especificar os valores booleanos AdditionalFontsFolder e SuppressError.
- Mescle (por MergeToPdf) os ficheiros PS com o documento criado e guarde-o como PDF com as opções de guardar PDF. 5.Se o valor SuppressErrors for verdadeiro, como é o predefinido, é possível ver quais os erros que foram gerados durante a fusão de ficheiros PostScript para um documento PDF e guardados na lista de Exceções.
O seguinte excerto de código mostra como fundir ficheiros PS com um documento PDF em C++:
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 }
Consideremos
PdfSaveOptions. Utilizando esta classe, podemos atribuir diferentes parâmetros de conversão ao fundir PS para PDF.
- AdditionalFontsFolder especifica os locais onde encontrar as fontes. As pastas de fontes do sistema são sempre incluídas por predefinição.
- SuppressError controla o comportamento da fusão de PS para PDF quando aparecem erros não críticos. Se o valor for verdadeiro, será possível visualizar uma lista destes erros após a fusão no campo Exceptions. O valor predefinido é verdadeiro.
- Debug permite enviar informações de depuração para a consola. O valor por defeito é falso.