Trabajar con documentos en PostScript | .NETO
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 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 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 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}
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 margin
Los 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_TYPE3
El 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.