Imagemagick muda o tamanho da página ao converter de pdf para jpg

1

Eu quero converter um pdf para jpg. O tamanho da página não é padrão. (pdf aqui: imslp )

Quando eu converto o pdf para jpg com convert -density 300 sheet.pdf sheet.jpg , eu recebo isto: Imagem convertida . (A diferença não está muito clara no navegador. Faça o download do arquivo para ver o espaço em branco extra)

Como você pode ver, imagemagick mudou o tamanho do papel, então é adicionado espaço extra.

Eu quero manter o tamanho da página. Como posso fazer isso?

    
por Gilles Castel 02.11.2015 / 15:36

1 resposta

0

Sugiro que você use pdfimages em vez de convert .
Com pdfimages -list Test.pdf eu obtenho a lista das imagens do arquivo pdf .

page   num  type   width height color comp bpc  enc interp  object ID
---------------------------------------------------------------------
   1     0 image    4128  5440  gray    1   1  ccitt  no        97  0
   2     1 image    4112  5424  gray    1   1  ccitt  no        95  0
   3     2 image    4080  5440  gray    1   1  ccitt  no        93  0
   4     3 image    4096  5440  gray    1   1  jbig2  no        12  0
   5     4 image    4176  5488  gray    1   1  jbig2  no        16  0

Assim, as imagens dentro do seu pdf têm diferentes tamanhos e criptografia.
Com o seguinte comando você irá extrair todos:

pdfimages test.pdf sheet

Ele dará nomes progressivos sheet-000.pbm sheet-001.pbm sheet-002.pbm sheet-003.pbm sheet-004.pbm e os escreverá no formato pbm .
Infelizmente a opção -j não funciona no seu caso específico e você tem que converter por mãos:

convert sheet-001.pbm sheet-001.jpg

Neste ponto, você terá as imagens com o tamanho original.

Agora, o núcleo da sua pergunta: qual tamanho de página?!?

 A4        210   × 297   mm   at 300 dpi     2480 x 3508 Pixels 
 Letter    215.9 × 279.4 mm   at 300 dpi     2550 x 3300 Pixels
 ...

Vamos escolher A4 .
A proporção não se ajusta à proporção de suas páginas para que você possa distorcê-las ou deixá-las com algum espaço em branco sobre ou com algum espaço em branco em um lado.

 convert sheet-001.pbm -resize 2480x3508\! distort.jpg      # you fix xy
 convert sheet-001.pbm -resize 2480x       Take_Width.jpg   # you fix x
 convert sheet-001.pbm -resize x3508       Take_Height.jpg  # you fix y

Para instalar o pdfimages , você pode instalar o poppler-utils . Procure seu sistema operacional.

Ps > Como fazer cálculos

 Letter    8.5 x 11 inches    x 300 dpi  ---> 2550 x 3300 Pixels
    
por 02.11.2015 / 18:55