Trabalhar com Documento em PostScript | .NET
Criar Documento PS
O Aspose.Page para .NET oferece dois construtores para criar a classe PsDocument. O seguinte excerto de código cria um 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();Se o documento PS tiver várias páginas, defina a variável multiPaged para true.
Outro construtor permite criar um objeto PsDocument com um 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();Veja como trabalhar com documentos PS em Java.
Vejamos a classe PsSaveOptions que encapsula possíveis opções que ajudam a criar o documento PostScript correcto.
SaveFormat especifica o formato de saída dos documentos. Pode ser PS ou EPS. Na biblioteca Aspose.Page, as diferenças entre estes dois formatos apenas se reflectem nos comentários PostScript e na extensão do ficheiro. De acordo com a especificação do ficheiro EPS, os ficheiros EPS devem ter 1 página. O formato PS é utilizado por defeito.
PageSize especifica o tamanho das páginas no documento PS. No entanto, podemos atribuir tamanhos de página diferentes para cada página, se necessário. O tamanho da página pode ser obtido a partir da classe PageConstants como no exemplo seguinte:
1options.PageSize = PageConstants.GetSize(PageConstants.SIZE_International, PageConstants.ORIENTATION_PORTRAIT);O tamanho de página predefinido é “A4” na orientação “Retrato”.
- Margens especifica campos em branco entre as margens da página e as margens esquerda, superior, direita e inferior do conteúdo da página. Pode ser obtido na classe PageConstants.
1options.Margins = PageConstants.GetMargins(PageConstants.MARGINS_SMALL); // 20 points for each marginAs margens padrão são “ZERO” (0, 0, 0, 0).
- BackGroundColor especifica a cor de fundo da página. Pode ser atribuído como:
1options.BackgroundColor = Color.FromArgb(211, 8, 48);ou:
1options.BackgroundColor = Color.Yellow;Para Linux, MacOS e outros sistemas operativos não Windows, oferecemos a utilização do nosso pacote NuGet Aspose.Page.Drawing. Utiliza o backend Aspose.Drawing em vez da biblioteca de sistema System.Drawing.
Assim, importe o namespace Aspose.Page.Drawing em vez do System.Drawing. Nos excertos de código acima, será utilizado Aspose.Page.Drawing.Color em vez de System.Drawing.Color. Os nossos exemplos de código no GitHub contêm todas as substituições necessárias.
O valor predefinido é “null”, o que significa sem fundo.
EmbedFonts controla o comportamento do PsDocument ao guardá-lo no ficheiro. Se “false”, as fontes utilizadas não serão gravadas no ficheiro PS. Neste caso, o interpretador PostScript irá gerar um erro se a fonte utilizada não puder ser encontrada nas pastas do sistema no host de destino.
EmbedFontsAs controla a forma como as fontes serão incorporadas no ficheiro PS. Atualmente, existem duas formas de utilizar os formatos de fonte TrueType e Type3. O valor pode ser definido com a ajuda da classe FontConstants, como se mostra abaixo:
1options.EmbedFontsAs = FontsConstants.EMBED_FONTS_TYPE3O valor predefinido é “TrueType”.
JpegQualityLevel especifica o nível de compressão/qualidade das imagens no documento PS resultante. Quanto maior for a qualidade necessária, menor será a compactação e vice-versa. A qualidade mínima é 0 e a máxima, 100. O predefinido é 75.
AdditionalFontsFolder especifica os locais onde encontrar as fontes. As pastas de fontes do sistema são sempre incluídas por predefinição.
Debug permite a saída de informação de depuração para a consola. O valor por defeito é falso.
Pode descarregar exemplos e ficheiros de dados do GitHub.