Fusionar archivos PostScript en PDF usando C++
Puede comprobar la calidad de la fusión de Aspose.Page PS y ver los resultados a través de PostScipt Merger en línea de forma gratuita.
Aspose.Page para la fusión de C++ PS permite fusionar archivos PostScript (PS) en documentos PDF en Windows y Linux.
Es necesario seguir varios pasos para realizar la fusión de PS a PDF:
- Cree una instancia de PsDocument a partir del primer archivo PostScript.
- Cree una serie de archivos PS que se fusionarán con el primero.
- Utilice PdfSaveOptions para especificar el valor booleano AdditionalFontsFolder y SuppressError.
- Fusione (mediante MergeToPdf) archivos PS con el documento creado y guárdelo como PDF con opciones de guardado de PDF.
- Si el valor de SuppressErrors era verdadero, como es de forma predeterminada, es posible ver qué errores se produjeron durante la combinación de archivos PostScript en un documento PDF y se guardaron en la lista de Excepciones.
El siguiente fragmento de código muestra cómo fusionar archivos PS con un documento PDF en 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. Usando esta clase podemos asignar diferentes parámetros de conversión mientras fusionamos PS a PDF.
- AdditionalFontsFolder especifica ubicaciones donde encontrar fuentes. Las carpetas de fuentes del sistema siempre se incluyen de forma predeterminada.
- SuppressError controla el comportamiento de la fusión de PS a PDF cuando aparecen errores no críticos. Si el valor es verdadero, es posible ver una lista de dichos errores después de fusionarlos en el campo Excepciones. El valor predeterminado es verdadero.
- Depurar permite enviar información de depuración a la consola. El valor predeterminado es falso.
Evalúe la fusión de PS en línea en nuestra Fusión de PS.
Puede descargar ejemplos y archivos de datos desde GitHub.