Я знаю, что делал это раньше, поэтому я уверен, что это возможно, я просто забываю, как это сделать. Есть способ заставить конвертировать захватить определенную страницу PDF, и я хотел бы сохранить формат этой страницы как PDF.
Я знаю, что делал это раньше, поэтому я уверен, что это возможно, я просто забываю, как это сделать. Есть способ заставить конвертировать захватить определенную страницу PDF, и я хотел бы сохранить формат этой страницы как PDF.
Ответы:
ImageMagick - это инструмент для растровых изображений, которого нет в большинстве PDF-файлов. Если вы используете его, он будет растеризовать данные, что часто нежелательно.
Pdftk может извлечь одну или несколько страниц из файла PDF.
pdftk A=input.pdf cat A42 A43 output pages_42_43.pdf
Если у вас есть установка LaTeX с PDFLaTeX, вы можете использовать pdfpages . Есть оболочка для pdfpages, pdfjam .
pdfjam -o pages_42_43.pdf input.pdf 42,43
Другая возможность (здесь избыточная, но полезная для требований более сложных, чем одна страница) - это Python с библиотекой 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
работает как шарм и уже был установлен с моим дистрибутивом LaTeX. Он очень прост в использовании.
pdftk
поэтому она не выглядит просто для извлечения страницы. Результат был в порядке в противном случае.
Вы можете использовать нижнюю запись convert(1)
для «индексации» в PDF:
$ convert source.pdf[1] dest.pdf
Значение индекса зависит от того, как экспортер PDF пронумеровал страницы. При тестировании файлов здесь цифры кажутся начинающимися с нуля, поэтому приведенный выше пример возвращает вас ко второй странице документа. Я видел примеры в Интернете, где вместо этого они показывают буквенные индексы, поскольку, видимо, создатель PDF «нумеровал» страницы в этом документе таким образом.
К сожалению, это не дает очень хороших результатов, потому что ImageMagick предполагает, что все основано на пикселях, и, следовательно, растеризует векторные изображения, такие как типографика в типичном PDF.
Лучший инструмент для работы - Ghostscript , который вы, вероятно, уже установили:
$ gs -dNOPAUSE -dBATCH -dFirstPage=2 -dLastPage=2 -sDEVICE=pdfwrite \
-sOutputFile=dest.pdf -f src.pdf
Это пропускает данные PDF без изменений, поскольку Ghostscript понимает PDF (производную от PostScript) на гораздо более глубоком уровне, чем ImageMagick.
-density 300
это сладкое место. Что-нибудь большее, и вы создаете огромные временные файлы - которые вы, вероятно, в любом случае уменьшите до уменьшенных изображений
source.pdf[3-6]
pdftk
также. Вы захотите использовать это.