Trabalhar com Documento em ficheiro PS | Python
Criar Documento PS
Aspose.Page para Python via .NET inclui dois construtores para criar a classe PsDocument. O seguinte excerto de código explica a criação de um documento PS de 1 página:
1# The path to the documents directory.
2dir = Util.get_data_dir_working_with_document()
3
4# Create an output stream for a PostScript document
5with open(dir + "document.ps", "wb") as out_ps_stream:
6 # Create save options
7 options = PsSaveOptions()
8 # If you want to aassign a page size other than A4, set the page size in options
9 options.page_size = PageConstants.get_size(PageConstants.SIZE_A4, PageConstants.ORIENTATION_PORTRAIT)
10 # If you want to aassign page margins other empty, set the page margins in options
11 options.margins = PageConstants.get_margins(PageConstants.MARGINS_ZERO)
12 # If you plan to use fonts that located in non system folders, set additional fonts folders in options
13 options.additional_fonts_folders = [ dir ]
14
15 # Set a variable that indicates if resulting PostScript document will be multipaged
16 multi_paged = False
17
18 # Create a new multipaged PS Document with one page opened
19 document = PsDocument(out_ps_stream, options, multi_paged)
20
21 # Close the current page
22 document.close_page()
23 # Save the document
24 document.save()
Se pretender que o documento PS tenha várias páginas, defina a variável multiPaged para true.
O outro construtor permite criar um objeto PsDocument com um número definido de páginas:
1with open(dir + "document.ps", "wb") as out_ps_stream:
2# Create save options
3options = PsSaveOptions()
4# If you want to assign the page size other than A4, set the page size in options
5options.page_size = PageConstants.get_size(PageConstants.SIZE_A4, PageConstants.ORIENTATION_PORTRAIT)
6# If you want to aassign page margins other empty, set the page margins in options
7options.margins = PageConstants.get_margins(PageConstants.MARGINS_ZERO)
8# If you plan to use fonts that located in non system folders, set additional fonts folders in options
9options.additional_fonts_folders = [ dir ]
10
11# Create a new multipaged PS Document with one page opened
12document = PsDocument(out_ps_stream, options, 2)
13
14# Close the current page
15document.close_page()
16# Save the document
17document.save()
Vamos dar uma vista de olhos à classe PsSaveOptions que encapsula possíveis opções que ajudam a criar o documento PostScript correcto.
O parâmetro SaveFormat determina o formato de saída dos documentos, que pode ser PS ou EPS. Na biblioteca Aspose.Page, as distinções entre estes dois formatos reflectem-se principalmente nos comentários PostScript e na extensão de ficheiro. Além disso, de acordo com a especificação do ficheiro EPS, os ficheiros EPS devem ter uma única página. Por defeito, é utilizado o formato PS.
O parâmetro page_size especifica o tamanho das páginas no documento PS. No entanto, é possível 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 se demonstra no exemplo seguinte:
1options.page_size = PageConstants.get_size(PageConstants.SIZE_International, PageConstants.ORIENTATION_PORTRAIT);
O tamanho de página predefinido é “A4” na orientação “Retrato”.
- margins especifica campos em branco entre os limites 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.get_margins(PageConstants.MARGINS_SMALL)); // 20 points for each margin
As margens padrão são “ZERO” (0, 0, 0, 0).
- back_ground_color especifica a cor de fundo da página. Pode ser atribuído como:
1options.back_ground_color = aspose.pydrawing.Color(211, 8, 48);
ou:
1options.back_ground_color = aspose.pydrawing.Color.YELLOW;
O valor predefinido é “null”, o que significa sem fundo.
O parâmetro embed_fonts determina o formato de saída dos documentos, que pode ser PS ou EPS. Na biblioteca Aspose.Page, as distinções entre estes dois formatos reflectem-se principalmente nos comentários PostScript e na extensão de ficheiro. Além disso, de acordo com a especificação do ficheiro EPS, os ficheiros EPS devem ter uma única página. Por defeito, é utilizado o formato PS.
O parâmetro embed_fonts_as especifica o tamanho das páginas no documento PS. No entanto, é possível atribuir tamanhos de página diferentes para cada página, se necessário. O valor pode ser definido com a ajuda da classe FontConstants como se segue:
1options.embed_fonts_as = FontsConstants.EMBED_FONTS_TYPE3;
O valor predefinido é “TrueType”.
O parâmetro jpeg_quality_level determina o nível de compressão e a qualidade das imagens no documento PS resultante. Qualidade mais elevada requer menos compressão e vice-versa. A qualidade varia de 0 a 100, sendo que 0 representa a qualidade mínima e 100 representa a qualidade máxima. A definição padrão é 75.
O parâmetro additional_fonts_folder especifica os locais onde as fontes podem ser encontradas. Por predefinição, as pastas de fontes do sistema são sempre incluídas.
debug ativa 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.