Как обрезать один PDF-файл в отдельные PDF-страницы с помощью инструментов командной строки? - PullRequest
1 голос
/ 28 февраля 2011

У меня есть один PDF-файл с тремя страницами. Мне нужно превратить этот PDF-файл в три отдельные PDF-страницы, есть ли какой-либо инструмент командной строки или скрипт для этого. Я пытаюсь с pdftk, pdfcrop и GS, но пока ничего не получилось

Пример: one.pdf имеет 1 страницу, а эта страница содержит 3 страницы one.pdf. Мне нужно разделить эту страницу на 3 отдельные страницы

Ответы [ 4 ]

2 голосов
/ 04 июня 2012

Насколько я понимаю, у вас есть три страницы PDF, сшитые рядом, составляющие одну страницу PDF, и вы хотите разделить любую страницу на одну страницу PDF

следующим образом: 3 pages into 1

podofobox (из podofoutils )

Использование: podofobox [inputfile] [outpufile] [box] [left] [bottom] [width] [height]

Поле - это один из видов обрезки при обрезке мультимедиа. Приведите значения * 100 в виде целых чисел (во избежание головной боли из-за локалис помощью strtod)

Может быть инструментом для выполнения этой задачи

взять информацию о мультимедийном блоке вашего ввода PDF (например, с pdfinfo ).Вам нужно знать размер (ширину и высоту) входного PDF-файла (три страницы сшиты рядом друг с другом в один)

, в моем примере у нас есть 3 страницы рядомсторона pdf

, ширина и высота которых:

pdfinfo input.pdf |grep "Размер страницы" Размер страницы: 1785 x 841 pts

Это 3-страничная страница, сшитая вместе 3 pdf страницы формата A4

, поэтому вЧтобы получить ширину любой отдельной страницы, составляющей input.pdf , нам нужно разделить (известно, что высота = 841 точек ) 1785 на 3 = 595

см. Сетку, которую я нарисовал

grid

, в этот момент мы пишем этот маленький сценарий с одним вкладышем

for i in `seq 0 59500 119000`; do  podofobox  input.pdf  $i-out.pdf media  $i 0 59500 84100; done

объяснение : сценарий создает три отдельных PDF-страницы, начиная с 0 и заканчивая до 1190 пунктов, 0 , 595 и 1190 , являются отправными точками любой из отдельных страниц, сшитых вместе .значения умножаются на 100 (необходим podofobox синтаксис)

это пример для pdf, состоящего из 3 страниц формата А4, сшитых рядом, если ваша страница имеет другую геометрию, выпросто нужно разделить на три и изменить скрипт

1 голос
/ 28 февраля 2011

ImageMagick - это то, что я использую для всей моей графики CLI:

convert foo.pdf foo-%01d.pdf

Это создает три отдельных файла PDF:

foo-0.pdf
foo-1.pdf
foo-2.pdf
0 голосов
/ 28 февраля 2011

Вы можете использовать опцию пакета с pdftk.Со страницы man ...

burst

Разбивает один входной PDF-документ на отдельные страницы.Также создает отчет с именем doc_data.txt, который совпадает с выводом из dump_data.Если раздел вывода пропущен, то страницы PDF называются: pg_% 04d.pdf, например: pg_0001.pdf, pg_0002.pdf и т. Д. Чтобы самим назвать эти страницы, укажите строку формата printf в стиле в разделе вывода.Например, если вам нужны страницы с именами: page_01.pdf, page_02.pdf и т. Д., Передайте выходные данные page_% 02d.pdf в pdftk.Шифрование может быть применено к выводу путем добавления параметров вывода, таких как owner_pw, например: pdftk in.pdf burst owner_pw foopass

0 голосов
/ 28 февраля 2011

Попробуйте использовать опцию pdftk 'burst'.

example:
pdftk input.pdf burst

Вы также можете использовать gs (ghostscript) imagemajick, graphicsmajick, и я ожидаю, что cups также может это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...