Eu sei que já fiz isso antes, então tenho certeza que é possível, apenas esqueço como fazê-lo. Existe uma maneira de dizer ao convert para pegar uma página específica de um PDF e eu gostaria de manter o formato dessa página como PDF.
Eu sei que já fiz isso antes, então tenho certeza que é possível, apenas esqueço como fazê-lo. Existe uma maneira de dizer ao convert para pegar uma página específica de um PDF e eu gostaria de manter o formato dessa página como PDF.
Respostas:
O ImageMagick é uma ferramenta para imagens de bitmap, que a maioria dos PDFs não é. Se você usá-lo, ele rasterizará os dados, o que geralmente não é desejável.
O Pdftk pode extrair uma ou mais páginas de um arquivo PDF.
pdftk A=input.pdf cat A42 A43 output pages_42_43.pdf
Se você possui uma instalação LaTeX com PDFLaTeX, pode usar páginas em pdf . Existe um invólucro de shell para páginas pdf, pdfjam .
pdfjam -o pages_42_43.pdf input.pdf 42,43
Outra possibilidade (exagero aqui, mas útil para requisitos mais complexos que uma página) é o Python com a biblioteca PyPdf .
#!/usr/bin/env python
import copy, sys
from pyPdf import PdfFileWriter, PdfFileReader
input = PdfFileReader(sys.stdin)
output = PdfFileWriter()
for i in [42, 43]:
output.addPage(input.getPage(i))
output.write(sys.stdout)
pdfjam
funciona como um encanto e já foi instalado com minha distribuição LaTeX. É muito fácil de usar.
pdftk
portanto não parece extrair uma página. O resultado foi bom caso contrário.
Você pode usar a notação subscrita com convert(1)
para "indexar" em um PDF:
$ convert source.pdf[1] dest.pdf
O valor do índice depende de como o exportador de PDF numerou as páginas. Nos testes dos arquivos aqui, os números parecem baseados em zero; portanto, o exemplo acima fornece a segunda página do documento. Já vi exemplos on-line em que eles mostram índices de letras, pois aparentemente o criador do PDF "numerou" as páginas desse documento dessa maneira.
Infelizmente, isso não produz resultados muito bons, porque o ImageMagick assume que tudo é baseado em pixels e, portanto, rasteriza imagens vetoriais, como a tipografia em um PDF típico.
Uma ferramenta melhor para o trabalho é o Ghostscript , que você provavelmente já instalou:
$ gs -dNOPAUSE -dBATCH -dFirstPage=2 -dLastPage=2 -sDEVICE=pdfwrite \
-sOutputFile=dest.pdf -f src.pdf
Isso passa os dados do PDF inalterados, já que o Ghostscript entende o PDF (um derivado PostScript) para um nível muito mais profundo do que o ImageMagick.
-density 300
é o ponto ideal . Qualquer coisa maior e você está criando enormes arquivos temporários - que provavelmente você está indo para redimensionar até miniaturas de qualquer maneira
source.pdf[3-6]
pdftk
também. Você vai querer usá-lo.