Konwertowanie pliku PDF na jeden z wieloma stronami na arkusz za pomocą wiersza polecenia

11

Powiedzmy, że chcę slides.pdfzawierać 4 slajdy na stronie.

Mogę otworzyć slides.pdfdokument w Evince (domyślna przeglądarka dokumentów Ubuntu)

evince slides.pdf-> Drukuj -> Ustawienia strony -> Strony na stronę -> 4 (lub inny numer)

Następnie mogę wskazać, że chcę wydrukować do pliku i wydrukować. Rezultatem jest output.pdfplik z pożądaną liczbą slajdów na arkuszu.

Chcę osiągnąć tę samą funkcjonalność za pomocą wiersza polecenia (ponieważ muszę to włączyć do skryptu). Jedyne, co do tej pory znalazłem, to rozwiązania oparte na zewnętrznych narzędziach. Na przykład próbowałem zainstalować pdfjam(co wymagało ode mnie zainstalowania pakietów o wartości 88,1 MB texlive-latex-base, aby uzyskać funkcjonalność, którą już posiadam!). Rezultatem była tylko awaria pdfjam ERROR: LaTeX package pdfpages.sty is not installed.

Wolałbym unikać zewnętrznych pakietów.

Jak to osiągnąć za pomocą wiersza polecenia?

użytkownik84207
źródło

Odpowiedzi:

2

aby wykonać IMPOSITION , nie ma nic lepszego niż Multivalent.jar (najnowsza darmowa wersja z narzędziami w środku, najnowsza wersja Multivalent obecnie hostowana na sourceforge - 2009 - nie ma więcej narzędzi pdf)

możesz pobrać wersję Multivalent.jar za pomocą narzędzi z:

człowiek online - http://multivalent.sourceforge.net/Tools/pdf/Impose.html

posługiwać się:

java -cp path...to/Multivalent.jar tool.pdf.Impose -dim (rowsxcols) -paper (paper sizes where pages will be imposed) file.pdf
Dingo
źródło
Dziękuję Ci! Użyłem twojego rozwiązania. Jest to prosty, nie nadęty, samodzielny, wieloplatformowy. Doskonały.
user84207
Na źródłowej kuźni narzędzia PDF zostały usunięte z powodu problemów z prawami autorskimi: sourceforge.net/p/multivalent/discussion/252478/thread/e7850c31/...
Loren
20

Możesz także użyć pdfnup:

pdfnup --nup 2x2 --no-landscape file.pdf

gdzie 2x2 odnosi się do 2 wierszy po 2 kolumnach (lub odwrotnie - nie jestem pewien). Zobacz man pdfnup, aby uzyskać więcej opcji.

Paul Robert
źródło
3
pdfnupdziała w porządku. Uwaga dla osób, które chcą umieścić tę samą stronę PDF cztery razy na jednej stronie: Musisz pdfnup --no-landscape --a4paper --nup 2x2 input.pdf input.pdf input.pdf input.pdf
podać
1
Dodatek do powyższej odpowiedzi + komentarz: pdfnup --nup 2x2 --frame true --noautoscale false --delta "0.2cm 0.3cm" --scale 0.90 your.pdfwydrukuje 4 slajdy na jednej stronie pliku pdf o nazwie „two-nup.pdf”, używając zawartości „your.pdf” jako stron wejściowych. --frame truedrukuje ramkę wokół każdego slajdu, --delta...określa margines między ramkami i --scale ...zapewnia wprowadzenie marginesu arkusza, aby drukarka dobrze obsługiwała zadanie bez odcinania zawartości. Wszystkie opcje na www2.warwick.ac.uk/fac/sci/statistics/staff/academic-research/… .
Cbhihe
Paul Robert: Wiem, że twoja odpowiedź jest stara, ale śmiało dodaj swój komentarz do swojej odpowiedzi. Nie mogę mówić w imieniu @guettli. Wszystko działa dobrze na Ubuntu co najmniej do 16.04. (Nie testowałem tego w ciągłej dystrybucji z najnowszymi obrazami jądra i pakietami.) Pozdrawiam.
Cbhihe
BTW, pdfnup używa wewnętrznie pakietu pdfpages.sty, z którego operacja nie chciała korzystać. Mam odwrotne przeczucie: do wykonania zadania użyję pakietu pdfpages.sty w TexStudio.
Dominic108