Defina a orientação da página para paisagem usando ps2pdf

1

É possível definir a orientação da página para paisagem usando o ps2pdf no Windows?

    
por macleojw 13.11.2009 / 14:12

2 respostas

0

Veja Configuração da orientação da página , onde este texto bastante complicado parece dizem que isso é impossível:

By default Ghostscript determines viewing page orientation based on the dominant text orientation on the page. Sometimes, when the page has text in several orientations or has no text at all, wrong orientation can be selected.

Acrobat Distiller parameter AutoRotatePages controls the automatic orientation selection algorithm. On Ghostscript, besides input stream, Distiller parameters can be given as command line arguments. For instance: -dAutoRotatePages=/None or /All or /PageByPage.

When there is no text on the page or automatic page rotation is set to /None an orientation value from setpagedevice is used. Valid values are: 0 (portrait), 3 (landscape), 2 (upside down), and 1 (seascape). The orientation can be set from the command line as -c "<> setpagedevice" using Ghostscript directly but cannot be set in ps2pdf. See Limitations below.

Ghostscript passes the orientation values from DSC comments to pdfwrite driver but they are effectively ignored there. This appears to be consistent with Distiller 5 behavior.

    
por 13.11.2009 / 14:25
2

ps2pdf é um utilitário bastante limitado. É apenas um pequeno arquivo de lote (no Unix / Linux: um script de shell) que constrói e chama a linha de comando do Ghostscript, bastante complexa, enquanto usa uma sintaxe de linha de comando muito simples.

Se você precisar de todo o poder do Ghostscript, seria melhor ligar para o gswin32c.exe diretamente.

OK, aqui está como girar as páginas com o Ghostscript. No entanto, isso pode não funcionar para suas intenções, porque você não pode forçar uma certa orientação para uma única página. Ele se baseia em um algoritmo interno do Ghostscript que tenta girar as páginas automaticamente, dependendo do fluxo de texto dentro dos PDFs:
* -dAutoRotatePages=/None - retém a orientação de cada página; * -dAutoRotatePages=/All - gira todas as páginas (ou nenhuma) dependendo de um tipo de "decisão majoritária"; * -dAutoRotatePages=/PageByPage - rotaciona automaticamente as páginas individualmente.

Adicione um deles à linha de comando do Ghostscript que você está usando.

Se houver um texto não em uma página (ou se houver uma rotação automática de páginas definida como /None ), o Ghostscript usará as configurações setpagedevice . Você pode passar esses parâmetros setpagedevice na linha de comando do Ghostscript usando a opção -c desta forma:
* -c "<</Orientation 3>> setpagedevice" - define a orientação paisagem ; * -c "<</Orientation 0>> setpagedevice" - define a orientação retrato ; * -c "<</Orientation 2>> setpagedevice" - define a direção de cabeça para baixo ; * -c "<</Orientation 1>> setpagedevice" - define a orientação da seascape .

Você requer o uso de pstopdf ou Ghostscript? Seria aceitável usar outra ferramenta Software Livre, de código aberto, em execução na linha de comando, como pdftk.exe ?

De qualquer forma, recomendo ver também pdftk (que também está disponível no Windows). É uma ferramenta de linha de comando que pode girar páginas de PDFs e muito mais. Mais fácil de usar do que o Ghostscript para o seu propósito declarado e muito mais rápido também. Especialmente, ele pode girar páginas individuais dentro de um documento PDF, deixando as outras páginas intocadas. Veja aqui para mais detalhes: link .

    
por 24.06.2010 / 16:35