Fusionner des fichiers PS au PDF en utilisant C++
Vous pouvez vérifier la qualité de la fusion Aspose.Page PS et visualiser les résultats via la PostScipt Merger
Aspose.Page pour la fusion C++ PS permet de fusionner des fichiers PostScript (PS) avec un document PDF sous Windows et Linux.
Il est nécessaire de suivre plusieurs étapes pour effectuer la fusion PS vers PDF :
- Créez une instance de PsDocument à partir du premier fichier PostScript.
- Créez un tableau de fichiers PS qui seront fusionnés avec le premier.
- Utilisez PdfSaveOptions pour spécifier les valeurs booléennes AdditionalFontsFolder et SuppressError.
- Fusionnez (par MergeToPdf) les fichiers PS avec le document créé et enregistrez-le au format PDF avec les options d’enregistrement PDF.
- Si la valeur SuppressErrors était vraie, comme c’est le cas par défaut, il est possible de voir quelles erreurs ont été générées lors de la fusion de fichiers PostScript dans un document PDF et enregistrées dans la liste Exceptions.
L’extrait de code suivant montre comment fusionner des fichiers PS avec un document 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 }
Considérons PdfSaveOptions. En utilisant cette classe, nous pouvons attribuer différents paramètres de conversion lors de la fusion de PS en PDF.
- AdditionalFontsFolder spécifie les emplacements où trouver les polices. Les dossiers de polices système sont toujours inclus par défaut.
- SuppressError contrôle le comportement de la fusion PS vers PDF lorsque des erreurs non critiques apparaissent. Si la valeur est vraie, il est possible d’afficher une liste de ces erreurs après la fusion dans le champ Exceptions. La valeur par défaut est vraie.
- Debug permet d’afficher les informations de débogage sur la console. La valeur par défaut est fausse.