Я знаю, що робив це раніше, тому впевнений, що це можливо, я просто забуваю, як це зробити. Існує спосіб сказати конвертувати, щоб схопити певну сторінку PDF, і я хотів би зберегти формат цієї сторінки як PDF.
Я знаю, що робив це раніше, тому впевнений, що це можливо, я просто забуваю, як це зробити. Існує спосіб сказати конвертувати, щоб схопити певну сторінку PDF, і я хотів би зберегти формат цієї сторінки як PDF.
Відповіді:
ImageMagick - це інструмент для растрових зображень, які більшість PDF-файлів не є. Якщо ви користуєтесь нею, це розпорошить дані, що часто не бажано.
Pdftk може витягти одну або кілька сторінок з PDF-файлу.
pdftk A=input.pdf cat A42 A43 output pages_42_43.pdf
Якщо у вас встановлення LaTeX з PDFLaTeX, ви можете використовувати pdfсторінки . Існує оболонка для оболонок pdfсторінок , pdfjam .
pdfjam -o pages_42_43.pdf input.pdf 42,43
Ще одна можливість (overkill тут, але корисна для вимог, складніших за одну сторінку) - 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
. Ви захочете ним скористатися.