Trabajar con documentos en PostScript | .NET
Crear documento PS
Aspose.Page para .NET ofrece dos constructores para crear la clase PsDocument. El siguiente fragmento de código crea un documento PS de 1 página:
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 el documento PS planea tener varias páginas, establezca la variable multiPagged en true.
Otro constructor permite crear un objeto PsDocument con un número definido de páginas:
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();Ver cómo trabajar con el documento PS en Java.
Veamos la clase PsSaveOptions que encapsula posibles opciones que ayudan a crear el documento PostScript correcto.
SaveFormat especifica un formato de salida de los documentos. Puede ser PS o EPS. En la biblioteca Aspose.Page, las diferencias entre estos dos formatos se reflejan sólo en los comentarios PostScript y en una extensión de archivo. Además, de acuerdo con la especificación de archivos EPS, los archivos EPS deben tener una sola página. El formato PS se utiliza de forma predeterminada.
PageSize especifica el tamaño de las páginas del documento PS. Sin embargo, podemos asignar diferentes tamaños de página para cada página si es necesario. El tamaño de la página se puede obtener de la clase PageConstants como en el siguiente ejemplo:
1options.PageSize = PageConstants.GetSize(PageConstants.SIZE_International, PageConstants.ORIENTATION_PORTRAIT);El tamaño de página predeterminado es “A4” en orientación “Retrato”.
- Márgenes especifica campos en blanco entre los límites de la página y los bordes izquierdo, superior, derecho e inferior del contenido de la página. Se puede obtener de la clase PageConstants.
1options.Margins = PageConstants.GetMargins(PageConstants.MARGINS_SMALL); // 20 points for each marginLos márgenes predeterminados son “CERO” (0, 0, 0, 0).
- BackGroundColor especifica un color de fondo de la página. Se puede asignar como:
1options.BackgroundColor = Color.FromArgb(211, 8, 48);o:
1options.BackgroundColor = Color.Yellow;Para Linux, MacOS y otros sistemas operativos distintos de Windows, ofrecemos utilizar nuestro paquete Nuget Aspose.Page.Drawing. Utiliza el backend Aspose.Drawing en lugar de la biblioteca del sistema System.Drawing.
Así que importe el espacio de nombres Aspose.Page.Drawing en lugar de System.Drawing. En los fragmentos de código anteriores se utilizará Aspose.Page.Drawing.Color en lugar de System.Drawing.Color. Nuestros ejemplos de código en GitHub contienen todas las sustituciones necesarias.
El valor predeterminado es “nulo”, lo que significa que no hay fondo.
EmbedFonts controla el comportamiento de PsDocument mientras lo guarda en el archivo. Si es “falso”, las fuentes utilizadas no se escribirán en el archivo PS. En este caso, el intérprete PostScript generará un error si la fuente utilizada no se puede encontrar en las carpetas del sistema en el host de destino.
EmbedFontsAs controla la forma en que se incrustarán las fuentes en el archivo PS. En este momento funcionan dos formas de formatos de fuente TrueType y Type3. El valor se puede establecer con la ayuda de la clase FontConstants como la siguiente:
1options.EmbedFontsAs = FontsConstants.EMBED_FONTS_TYPE3El valor predeterminado es “TrueType”.
JpegQualityLevel especifica un nivel de compresión/calidad de las imágenes en el documento PS resultante. Cuanta más calidad se requiera, menor será la compresión y viceversa. La calidad mínima es 0 y la máxima, 100. El valor predeterminado es 75.
AdditionalFontsFolder especifica ubicaciones donde encontrar fuentes. Las carpetas de fuentes del sistema siempre se incluyen de forma predeterminada.
Depurar permite enviar información de depuración a la consola. El valor predeterminado es falso.
Puede descargar ejemplos y archivos de datos desde GitHub.