Scripts de shell: alterar a largura da página de um PDF?


1

Eu tenho um arquivo PDF digitalizado, em que páginas diferentes têm larguras diferentes devido à forma como o PDF foi concatenado de várias fontes. Isso tende a atrapalhar os espectadores.

Existe alguma ferramenta de linha de comando que possa atribuir a todas as páginas a mesma largura?

Como a digitalização é grande e já está fortemente compactada, as imagens de bitmap reais devem permanecer inalteradas e o texto do OCR, se houver, deve ser preservado no processo.

Por exemplo:

  • Antes.
    • Tamanho da página 15x10 cm
    • Tamanho da imagem 15x10 cm
    • Tamanho do pixel da imagem 1500 x 1000
  • Depois de.
    • Tamanho da página 30x20 cm
    • Tamanho da imagem 30x20 cm
    • Tamanho do pixel da imagem 1500 x 1000, fluxo de dados binários inalterado.

Uma solução usando imagemagick seria preferida, pois está prontamente disponível para shell scripts através do Cygwin. No entanto, desconfio que talvez não seja possível impedir que a imagem-imagem codifique novamente as imagens.

Respostas:


1

Você pode tentar o Ghostscript :

gs -sOutputFile=output.pdf -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sPAPERSIZE=a4 -dFIXEDMEDIA -dPDFFitPage -f input.pdf

Mude a4para o tamanho que melhor se adapte às suas necessidades.

Consulte Escolhendo o tamanho do papel na documentação.

Você deve conseguir instalar o GhostScript (gs) através do setup.exeprograma Cygwin .


Isso funciona mesmo! Exceto no caso de canto estranho, as páginas com proporções de paisagem são giradas automaticamente 90 ° no sentido anti-horário. Você sabe, se existe alguma maneira de manter a orientação?
Kdb 28/09/19
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.