So di averlo già fatto in precedenza, quindi sono sicuro che sia possibile, dimentico solo come farlo. C'è un modo per dire a convert di prendere una pagina specifica di un PDF e mi piacerebbe mantenere il formato di quella pagina come PDF.
So di averlo già fatto in precedenza, quindi sono sicuro che sia possibile, dimentico solo come farlo. C'è un modo per dire a convert di prendere una pagina specifica di un PDF e mi piacerebbe mantenere il formato di quella pagina come PDF.
Risposte:
ImageMagick è uno strumento per le immagini bitmap, che la maggior parte dei PDF non lo è. Se lo usi, rasterizzerà i dati, il che spesso non è desiderabile.
Pdftk può estrarre una o più pagine da un file PDF.
pdftk A=input.pdf cat A42 A43 output pages_42_43.pdf
Se si dispone di un'installazione LaTeX con PDFLaTeX, è possibile utilizzare pagine pdf . C'è un involucro di shell per pdfpages, pdfjam .
pdfjam -o pages_42_43.pdf input.pdf 42,43
Un'altra possibilità (eccessiva qui, ma utile per requisiti più complessi di una pagina) è Python con la libreria 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
funziona come un fascino ed era già installato con la mia distribuzione LaTeX. È molto facile da usare
pdftk
quindi non sembra semplicemente estrarre una pagina. Il risultato andava bene altrimenti.
È possibile utilizzare la notazione dei pedici con convert(1)
per "indicizzare" in un PDF:
$ convert source.pdf[1] dest.pdf
Il valore dell'indice dipende da come l'esportatore PDF ha numerato le pagine. Nei test sui file qui, i numeri sembrano essere a base zero, quindi l'esempio sopra ti porta alla seconda pagina del documento. Ho visto esempi online in cui invece mostrano indici di lettere, poiché apparentemente il creatore di PDF ha "numerato" le pagine in quel documento in quel modo.
Sfortunatamente, questo non dà risultati molto buoni, perché ImageMagick presume che tutto sia basato su pixel e quindi rasterizza le immagini vettoriali, come la tipografia in un tipico PDF.
Uno strumento migliore per il lavoro è Ghostscript , che probabilmente hai già installato:
$ gs -dNOPAUSE -dBATCH -dFirstPage=2 -dLastPage=2 -sDEVICE=pdfwrite \
-sOutputFile=dest.pdf -f src.pdf
Questo passa i dati PDF attraverso invariato, dal momento che Ghostscript capisce PDF (un derivato PostScript) a un livello molto più profondo di ImageMagick.
-density 300
è il punto debole . Qualcosa di più grande e stai creando enormi file temporanei - che probabilmente ridimensionerai comunque fino alle anteprime
source.pdf[3-6]
pdftk
anche. Lo vorrai usare.