Jak podzielić plik PDF na wiele stron w wierszu poleceń?


8

Jak mogę podzielić (kafelkować) jeden ogromny plik PDF na wiele stron? Rezultatem może być jeden plik PDF z wieloma stronami A4 lub kilkoma plikami PDF A4.

Mimo że wygenerowałem plik PDF dot, chciałbym, aby ten problem został rozwiązany w ogóle - lub przynajmniej na standardowym Ubuntu (np. 12.04).

Wejściowy plik PDF został wygenerowany przez Graphviz dot, np. dot -Tpdf sample.dot > sample.pdf. Kiedy nie dodałem a size="8,11"; ratio="fill";do wykresu, wyjściowy plik PDF jest bardzo duży. Jeśli dodam podpowiedzi dotyczące wielkości / wypełnienia, dottylko dla mnie zmniejszyłem liczbę rzeczy.

Podajmy jeden przykład:

Jeśli mój oryginalny plik PDF byłby taki ogromny:

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

To powinno być podzielone przez polecenie takie jak

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

w

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

Spojrzałem na pdfjam zestawu narzędzi, ale wydaje się, ta funkcja nie jest tam realizowane. Chciałbym, aby było to narzędzie wiersza poleceń - i powinno być zautomatyzowane, a nie ręcznie


Zobacz także superuser.com/questions/54054 i zduplikuj kandydatów.
Skippy le Grand Gourou

Odpowiedzi:


7

Wygląda na to, że pdfposter może to zrobić.


Tak, obiecuje to zrobić, ale to nie działa :-(
René Nyffenegger

@ RenéNyffenegger: pdfposter wydaje się być uszkodzony dla niektórych osób. Obejść ten raport o błędzie w celu obejścia tego problemu.
tonysdg,

Właśnie tego szukałem, mam duży plik PDF diagramu ERD wygenerowany za pomocą rails-erd i graphviz, mogłem zmienić go w plik wielostronicowy. pdfposter -p2x999a4dał mi 22 strony, -p999x2a444 strony
Mathieu J.

5

Właściwie mutoolma prawie taką samą składnię jak ta, którą sugerujesz (czy jesteś jej autorem?):

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

Aby zainstalować mutool, po prostu zainstaluj mupdf, który prawdopodobnie jest spakowany z większością dystrybucji GNU / Linux.


działało jak marzenie, aby rozbić mój plakat A0 na wersje A3 do druku w wersji roboczej.
oliversm

4

Spójrz na http://www.graphviz.org/doc/FAQ.html : Q14. Jak wydrukować duży wykres na wielu stronach?

Atrybut strony, jeśli jest ustawiony, każe Graphviz wydrukować wykres jako tablicę stron o danym rozmiarze. Tak więc wykres

digraph G {page = "8.5,11"; ...}

będą emitowane jako strony 8,5 na 11 cali. Po wydrukowaniu strony można układać w kafelki, aby narysować rysunek całego wykresu. Obecnie funkcja działa tylko z danymi wyjściowymi PostScript. Alternatywnie istnieją różne narzędzia i przeglądarki, które zrobią duże zdjęcie i pozwolą wyodrębnić kawałki wielkości strony, które można następnie wydrukować.

TYLKO Postscript! Ale dla automatyzacji nie ma showstopper :-). Po prostu pozwól, aby ps2pdf go uruchomił. To zadziałało dla mnie.


3

Przychodzi na myśl kilka narzędzi linuksowych:

(z ich stron podręcznika)

pdfseperate [ opcje ] WEJŚCIE.PDF WYJŚCIE% d.PDF

odczytuje INPUT.PDF, wyodrębnia jedną lub więcej stron i zapisuje jeden plik PDF dla każdej strony do WYJŚCIA% d.PDF (% d jest symbolem zastępczym dla numeru strony) (z pakietu 'poppler-utils')

pdftk INPUT.PDF seria

odczytuje INPUT.PDF, tworząc jeden lub więcej plików PDF zawierających pojedyncze strony, o nazwie „pg-XXXX.pdf” (chyba że określono wyjściową nazwę pliku) (z pakietu „pdftk”)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.