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 output stream for PostScript document
2using (Stream outPsStream = new FileStream(dir + "document.ps", FileMode.Create))
3{
4 //Create save options
5 PsSaveOptions options = new PsSaveOptions();
6 //If you want to assign page size other than A4, set page size in options
7 options.PageSize = PageConstants.GetSize(PageConstants.SIZE_A4, PageConstants.ORIENTATION_PORTRAIT);
8 //If you want to assign page margins other than empty, set page margins in options
9 options.Margins = PageConstants.GetMargins(PageConstants.MARGINS_ZERO);
10 //If you plan to use fonts that are located in non system folders, set additional fonts folders in options
11 options.AdditionalFontsFolders = new string[] { dir };
12
13 //Set variable that indicates if resulting PostScript document will be multipaged
14 bool multiPaged = false;
15
16 // Create new multipaged PS Document with one page opened
17 PsDocument document = new PsDocument(outPsStream, options, multiPaged);
18
19 //Close current page
20 document.ClosePage();
21 //Save the document
22 document.Save();
23}
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 output stream for PostScript document
2using (Stream outPsStream = new FileStream(dir + "document.ps", FileMode.Create))
3{
4 //Create save options
5 PsSaveOptions options = new PsSaveOptions();
6
7 // Create new multipaged PS Document with 2 pages. These two pages are not created. It must be added by AddPage() method.
8 PsDocument document = new PsDocument(outPsStream, options, 2);
9
10 //Adding pages and it's content
11
12 //Save the document
13 document.Save();
14}
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 margin
Les 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_TYPE3
La 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.