Travailler avec un document dans PS | .NET
Créer un document PS
Aspose.Page pour .NET propose deux constructeurs afin de créer la classe PsDocument. L’extrait de code suivant crée un document PS d’une page :
 1// Create new multipaged PS document from scratch.
 2
 3string outputFileName = "document_out.ps";
 4
 5//Create save options
 6PsSaveOptions options = new PsSaveOptions();
 7//If you want to aassign page size other than A4, set page size in options
 8options.PageSize = PageConstants.GetSize(PageConstants.SIZE_A4, PageConstants.ORIENTATION_PORTRAIT);
 9//If you want to aassign page margins other empty, set page margins in options
10options.Margins = PageConstants.GetMargins(PageConstants.MARGINS_ZERO);
11//If you plan to use fonts that located in non system folders, set additional fonts folders in options
12options.AdditionalFontsFolders = new string[] { DataDir };
13
14//Set variable that indicates if resulting PostScript document will be multipaged
15bool multiPaged = false;
16
17// Create new multipaged PS Document with one page opened
18PsDocument document = new PsDocument(OutputDir + outputFileName, options, multiPaged);
19
20//Close current page
21document.ClosePage();
22//Save the document
23document.Save();Si le document PS prévoit d’être multipage, définissez la variable multiPaged sur true.
Un autre constructeur permet de créer un objet PsDocument avec un nombre défini de pages :
 1// Create new PS document with defined number of pages.
 2
 3string outputFileName = "document_out.ps";
 4
 5//Create save options
 6PsSaveOptions options = new PsSaveOptions();
 7//If you want to aassign page size other than A4, set page size in options
 8options.PageSize = PageConstants.GetSize(PageConstants.SIZE_A4, PageConstants.ORIENTATION_PORTRAIT);
 9//If you want to aassign page margins other empty, set page margins in options
10options.Margins = PageConstants.GetMargins(PageConstants.MARGINS_ZERO);
11//If you plan to use fonts that located in non system folders, set additional fonts folders in options
12options.AdditionalFontsFolders = new string[] { DataDir };
13
14// Create new multipaged PS Document with 2 pages. These two pages are not created. It must be added by OpenPage() method.
15PsDocument document = new PsDocument(OutputDir + outputFileName, options, 2);
16
17//Add the first page
18document.OpenPage();
19//Close current page
20document.ClosePage();
21//Save the document
22document.Save();Voir travailler avec un document PS dans Java.
Regardons la classe PsSaveOptions qui encapsule les options possibles aidant à créer le bon document PostScript.
- SaveFormat spécifie un format de sortie des documents. Peut être PS ou EPS. Dans la bibliothèque Aspose.Page, les différences entre ces deux formats se reflètent uniquement dans les commentaires PostScript et une extension de fichier. Conformément aux spécifications des fichiers EPS, les fichiers EPS doivent également comporter une seule page. Le format PS est utilisé par défaut. 
- PageSize spécifie la taille des pages du document PS. Cependant, nous pouvons attribuer des tailles de page différentes pour chaque page si cela est nécessaire. La taille de la page peut être obtenue à partir de la classe PageConstants comme dans l’exemple suivant : 
1options.PageSize = PageConstants.GetSize(PageConstants.SIZE_International, PageConstants.ORIENTATION_PORTRAIT);Le format de page par défaut est « A4 » en orientation « Portrait ».
- Marges spécifie les champs vides entre les limites de la page et les bords gauche, haut, droit et inférieur du contenu de la page. Il peut être obtenu à partir de la classe PageConstants.
1options.Margins = PageConstants.GetMargins(PageConstants.MARGINS_SMALL); // 20 points for each marginLes marges par défaut sont “ZÉRO” (0, 0, 0, 0).
- BackGroundColor spécifie une couleur d’arrière-plan de la page. Peut être attribué comme :
1options.BackgroundColor = Color.FromArgb(211, 8, 48);ou:
1options.BackgroundColor = Color.Yellow;Pour Linux, MacOS et autres systèmes d’exploitation non Windows, nous proposons d’utiliser notre package Nuget Aspose.Page.Drawing. Il utilise le backend Aspose.Drawing au lieu de la bibliothèque système System.Drawing.
Importez donc l’espace de noms Aspose.Page.Drawing au lieu de celui de System.Drawing. Dans les extraits de code ci-dessus, Aspose.Page.Drawing.Color sera utilisé à la place de System.Drawing.Color. Nos exemples de code sur GitHub contiennent toutes les substitutions nécessaires.
La valeur par défaut est “null”, ce qui signifie aucun arrière-plan.
- EmbedFonts contrôle le comportement de PsDocument lors de son enregistrement dans le fichier. Si “false”, les polices utilisées ne seront pas écrites dans le fichier PS. Dans ce cas, l’interpréteur PostScript générera une erreur si la police utilisée est introuvable dans les dossiers système sur l’hôte cible. 
- EmbedFontsAs contrôle la manière dont les polices seront intégrées dans le fichier PS. À l’heure actuelle, les formats de police TrueType et Type3 fonctionnent de deux manières. La valeur peut être définie à l’aide de la classe FontConstants comme suit : 
1options.EmbedFontsAs = FontsConstants.EMBED_FONTS_TYPE3La valeur par défaut est « TrueType ».
- JpegQualityLevel spécifie un niveau de compression/qualité des images dans le document PS résultant. Plus la qualité est requise, moins la compression sera importante et vice versa. La qualité minimale est de 0 et la qualité maximale de 100. La valeur par défaut est de 75. 
- AdditionalFontsFolder spécifie les emplacements où trouver les polices. Les dossiers de polices système sont toujours inclus par défaut. 
- Debug permet de générer des informations de débogage sur la console. La valeur par défaut est fausse. 
Vous pouvez télécharger des exemples et des fichiers de données à partir de GitHub.
