8

Как я могу разделить (плитка?) один огромный PDF на несколько страниц? Результатом может быть один PDF-файл с несколькими страницами формата A4 или несколько форматов A4.

Хотя я сгенерировал PDF с dot я хотел бы решить эту проблему в целом - или, по крайней мере, на стандартном Ubuntu (например. 12,04).

Входной PDF был сгенерирован Graphviz dot , например. dot -Tpdf sample.dot > sample.pdf . Когда я не добавил size="8,11"; ratio="fill"; на графике выходной PDF очень большой. Если я добавлю dot size/fill-hints, то только уменьшу масштаб для меня.

Давайте приведем один пример:

Если бы мой оригинальный PDF был таким большим:

+-------------------+
|                   |
|  O                |
|  :                |
|  :..........C     |
|  :        :       |
|  :        :       |
|  :        :       |
|  :        G       |
|  :        :       |
|  :        :       |
|  :        :       |
|  :        :       |
|  U        :       |
|           B       |
|                   |
+-------------------+

Это должно быть разделено командой вроде

pdftile sample.pdf -x 2 -y 3 > sample-2x3.pdf

в

+---------+---------+
|         |         |
|  O      |         |
|  :      |         |
|  :......|...C     |
|  :      | :       |
+---------+---------+
|  :      | :       |
|  :      | :       |
|  :      | G       |
|  :      | :       |
|  :      | :       |
+---------+---------+
|  :      | :       |
|  :      | :       |
|  U      | :       |
|         | B       |
|         |         |
+---------+---------+

Я изучил набор инструментов pdfjam, но, похоже, эта функция там не реализована. Я хотел бы, чтобы это был инструмент командной строки - и это должно быть автоматизировано, а не вручную

4 ответа4

6

Похоже, что pdfposter может сделать это.

5

На самом деле mutool имеет почти такой же синтаксис, как и тот, который вы предлагаете (вы его автор ??):

mutool -x 2 -y 3 sample.pdf sample-2x3.pdf

Чтобы установить mutool , просто установите mupdf , который, вероятно, входит в состав большинства дистрибутивов GNU/Linux.

3

Несколько утилит linux приходят на ум:

(из их страниц руководства)

pdfseperate [ параметры ] INPUT.PDF OUTPUT% d.PDF

читает INPUT.PDF, извлекает одну или несколько страниц и записывает один файл PDF для каждой страницы в OUTPUT% d.PDF (% d является заполнителем для номера страницы) (из пакета 'poppler-utils')

pdftk INPUT.PDF взрыв

читает INPUT.PDF, создавая один или несколько файлов PDF, содержащих отдельные страницы, с именем 'pg-XXXX.pdf' (если не указано имя выходного файла) (из пакета 'pdftk')

3

Посмотрите на http://www.graphviz.org/doc/FAQ.html: Q14. Как я могу напечатать большой график на нескольких страницах?

Атрибут page, если установлен, говорит Graphviz распечатать график как массив страниц заданного размера. Таким образом, график

орграф G {page = "8.5,11"; ... }

будет испускаться как 8,5 на 11-дюймовые страницы. При печати страницы можно разбить на листы, чтобы нарисовать весь график. В настоящее время эта функция работает только с выводом PostScript. Кроме того, существуют различные инструменты и средства просмотра, которые сделают большую картинку и позволят вам извлечь куски размером с страницу, которые затем можно будет распечатать.

ТОЛЬКО постскриптум! Но для автоматизации нет шоустоппера :-). Просто позвольте ps2pdf запустить его. Это сработало для меня.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .