Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Przycinanie dokumentu w pdf-ie

Razu pewnego przyszło mi wydrukować fragment książki, umieszczonej przez jej autora w internecie w postaci pliku pdf do ściągnięcia: http://www-users.cs.umn.edu/~saad/eig_book_2ndEd.pdf. Każda strona książki ma dużo wolnego białego miejsca, wszystkie strony po mniej więcej tyle samo - przykład na pierwszym obrazku.
Przez ten nadmiar marginesów, albo dostanie się małe litery, jeśli wybierze się druk dwóch (lub więcej) stron na arkusz*, albo, aby dobrze widzieć, zmarnuje się dużo papieru. Trzecią drogą jest przycięcie stron tak, aby znajdował się na nich wyłącznie tekst, co też wybrałem - tyle tylko, że na starcie nie wiedziałem czy(m) mogę to zrobić.

Wpisałem w konsoli "pdf" i nacisnąłem dwukrotnie tabulator - okazało się, że paczek, których nazwa zaczyna się od "pdf" mam całkiem sporo. Nazwy, które zawierają "pdf2" i "pdfto" to w większości konwertery do innych formatów, "pdftex" i "pdflatex" to kompilatory, używane, jak sama nazwa wskazuje, do zrobienia pdf-ów z plików napisanych w TeX-u i LaTeX-u - te dwie grupy programów odrzuciłem. "pdfopen" i "pdfclose" to też widać co robią, więc i je wyłączyłem z dalszych poszukiwań odpowiedniego narzędzia.
Przejrzałem opisy pozostałych programów i wybrałem do dalszego działania dwa: "pdfeditor" i "pdfcrop".

Pierwszym z nich wyciąłem te, zrozumiałe tylko dla znawców pięknej sztuki poligrafii, kreski i kółka w lewym górnym roku każdej ze stron. Użyłem do tego funkcji "Edit page metrics", znajdującej się w menu "Page", oraz na pasku narzędzi. Na poniższym obrazku widać po prawej stronie aktywne okienko tej funkcji**. Wybiera się w nim wymiary, jakie ma mieć strona, oraz od której i ile stron ma być zmodyfikowanych, dzięki czemu hurtowo przyciąłem wszystkie potrzebne mi strony.

Jako że tekst na poszczególnych stronach był różnej długości i szerokości, nie mogłem z góry ustalić jak dużo z której strony mogę poobcinać, tak, aby uciąć tak dużo, ile się da, ale nie więcej.
Można powiedzieć, że w tym momencie mogłem już skończyć działania, bo przecież pdfedit pozwala przyciąć strony jak się chce i wystarczyłoby uciąć po kawałku z każdej strony i tylko sprawdzić czy żadna strona nie została okaleczona. Ja jednak użyłem jeszcze "pdfcrop" - uznałem, że chcę mieć strony przycięte dokładnie. Ten ostatni bowiem znajduje na stronach dokumentu treść i ją precyzyjnie wycina, przy czym do treści weszłyby też te oznaczenia w rogu, które usunąłem pdfeditem. To zaowocowałoby przycięciem wolnego miejsca tylko z prawej i u dołu, a to za mało.

Wywołałem*** pdfcrop poleceniem pdfcrop --margins 10 nazwa_pliku.pdf i (dłuższą) chwilę odczekałem, aż zadanie się wykona.

Efekt końcowy:

Dalej pozostało tylko wydrukować i czytać.

I tutaj czas na dwa pytania do Czytelników.
Pierwsze - do używających systemów linuksowych: czy mogłem wszystko to zrobić szybciej, w jednym kroku?
Drugie - do używających systemów Windows: czy takie coś mógłbym w ogóle w tym środowisku wykonać?

*) Tego tekstu na każdej stronie jest mało, więc aż się prosi o drukowanie dwóch stron na jednym arkuszu.
**) Jak widać, narzędzie to liczy wymiary od lewego górnego rogu, więc w "X" i "Y" wpisałem na oko po 2,5 cm. Gdy po załadowaniu pliku jeździ się kursorem nad obszarem dokumentu, to współrzędne "y" rosną do góry, a nie w dół, czyli tak, jak przyjęło się w matematyce, w układzie współrzędnych, a nie jak się przyjęło w informatyce.
***) Tak właściwie to nie pamiętam jak wywołałem, mogłem zostawić nieco inny margines. A tak w gruncie rzeczy, ten margines był raczej bez sensu. 

linux oprogramowanie porady

Komentarze

0 nowych
djfoxer   17 #1 22.08.2011 10:49

Widnows:
W FoxitReader w oknie drukowania zaznaczam "Fit to Printer Margins: i po problemie.

Jaahquubel_   12 #2 22.08.2011 12:55

?
To tylko w najlepszym razie dałoby więcej białego, zamiast mniej.

matio   5 #3 22.08.2011 13:10

"Drugie - do używających systemów Windows: czy takie coś mógłbym w ogóle w tym środowisku wykonać?"

mnie także to intryguje.

djfoxer   17 #4 22.08.2011 13:37

W tym przypadku FR zrobił zoom na 126,17% i było ok. Więc w sumie problem został rozwiązany w jakiś sposób. Na szybkiego na Win znalazłem takie coś: PDFill PDF Tools http://www.pdfill.com/pdf_tools_free.html . Nie testowałem :)

  #5 22.08.2011 13:44

Jest też coś takiego jak pdfscissors, skuteczne całkiem: http://www.pdfscissors.com/

  #6 22.08.2011 14:01

Kiedyś chciałem wywalić zbędne strony z PDF-a. Znalazłem w repozytorium pdfedit. Niestety przy próbie zapisu zmian, program sam się wyłączał. To było rok temu, obecnie nie wiem czy program działa dobrze.

Na Windows nie szukałem tego typu aplikacji. Podejrzewam jednak, że powinno być co najmniej kilka darmowych i płatnych. W sumie na co dzień raczej nie zdarza się żeby pod Windowsem brakowało czegoś co jest dostępne pod Linuksem.

Saskatchewan   7 #7 22.08.2011 16:52

Jedyny znany mi sposób to użycie LaTeX-a i pakietu "pdfpages". Wszystkie parametry trzeba jednak powpisywać samemu, a poza tym jeżeli na różnych stronach tekst zajmuje różną przestrzeń, to raczej za dużo i tak nie zdziałamy.

\includepdf[pages={1-}, landscape=true, nup={1x2}, noautoscale, scale=0.8, delta={0 -3.5cm}, offset={-0.5cm 0}]{nazwa_pliku_pdf}

landscape i nup, żeby wstawić po dwie strony obok siebie
noautoscale + scale: ręcznie wpisana skala
delta: przestrzeń między "stronami"
offset: przesunięcie "strony"

Wpisane wartości to takie jak wyliczyłem dla testowanego właśnie pliku :).

Jaahquubel_   12 #8 22.08.2011 17:29

@Jan Korniszon
"W sumie na co dzień raczej nie zdarza się żeby pod Windowsem brakowało czegoś co jest dostępne pod Linuksem."
Może i tak, pytanie tylko czy to równie wygodny odpowiednik. Czy jest np. taki dla Kile i Tildy/Guake?

@Saskatchewan
"jeżeli na różnych stronach tekst zajmuje różną przestrzeń, to raczej za dużo i tak nie zdziałamy"
Zdziałamy, każdą taką stronę zaciągając osobno. Roboty po uszy. :)
Pomysł z zatrudnieniem LaTeX-a jest tak oczywisty, że na niego nie wpadłem. Może dlatego, że nigdy nie lubiłem w LaTeX-u robić żadnych include'ów.

@djfoxer
"W tym przypadku FR zrobił zoom na 126,17% i było ok."
To OK, ale w sytuacji, gdy strony są różnych rozmiarów, to i tak chyba trochę nie za bardzo (zakładam, że ten zoom był globalny dla wszystkich stron, że nie było dopasowywania zoomu per strona).

gowain   18 #9 22.08.2011 18:55

Adobe Acrobat Professional (ten akurat mam, więc w nim sprawdziłem). 5 sekund i strony przycięte...

  #10 22.08.2011 21:46

@gowain
A zapłaciłeś chociaż za Acrobat-a?

gowain   18 #11 22.08.2011 22:15

@kwirynus - Mam na firmę cały pakiet Adobe Web Premium CS3 - więc odpowiedź krótka - tak, zapłaciłem. Wziąłem co miałem pod ręką. Na pewno darmowe też są.

Saeros   5 #12 23.08.2011 00:34

@gowain
Jaką masz wersję Acrobata?
Ja mam 9 Pro PL z pakietu CS4 DEsign Standard i za żadne skarby mi nie chce stron przycinać, koleżanka obok ma wrzucony luzem 9 Pro ENG (gratis do innego pakietu w wersji CS3) i wszystko działa jak wspomniałeś - 5 sekund i po sprawie ;/

gowain   18 #13 23.08.2011 00:37

Ja mam 8 Pro, wersja ang

Saeros   5 #14 23.08.2011 01:18

To chyba te polskie wersje są jakieś nieszczęśliwe :]

gowain   18 #15 23.08.2011 01:37

Oj tak :) Jak widziałem kiedyś tłumaczenie Photoshopa... od tego momentu powiedziałem sobie, że nigdy nie kupię spolszczanego oprogramowania - Jak można nazwać jedną z funkcji "smużenie"? :P

Woowas   3 #16 23.08.2011 09:18

Przychodzi mi do głowy rozbicie pdf-a na pojedyncze strony i użycie ImageMagick do przycięcia obrazków.
Opcja "-trim" wygląda zachęcająco:
"This option removes any edges that are exactly the same color as the corner pixels"

Potem je można złożyć w LaTex-u przez \includegraphics ze stałym parametrem "widh".

Niestety nigdy nie używałem ImageMagick i nie wiem czy podawana opcja działa tak jak to sobie wyobrażam.

Saskatchewan   7 #17 23.08.2011 09:58

@Woowas: Ale mimo wszystko nie wycięłoby tych oznaczeń w lewym górnym rogu. Jeżeli chodziłoby o dokument który czegoś takiego nie ma, to pewnie dałoby radę w ten sposób, ale tutaj niestety byłby problem.

Woowas   3 #18 23.08.2011 10:16

@Saskatchewan
Można to zrobić dwuetapowo, najpierw obciąć znaczki ("-extract")
"Extract the specified area from image."

a potem wywalić resztę białego tła. ImageMagick może też przeskalować obrazy które potem można poskładać jakimś narzędziem typu jpg2pdf.


Jaahquubel_   12 #19 23.08.2011 15:11

@Woowas
Ale to chyba strasznie czasochłonne. Tymczasem Adobe Acrobat Pro jest w wersji trial. :)

Woowas   3 #20 23.08.2011 15:22

@Jaahquubel_
ImageMagick ma tę zaletę że wydaje się jedną komendę dla wielu plików. Reszta zależy od komputera :)

saturno   9 #21 21.02.2013 23:33

//Dalej pozostało tylko wydrukować i czytać.//

Jaahquubel_ mógłbyś gdzieś wstawić tego przerobionego pdf-a (całego). Chciałbym porównać z oryginałem.

Ps. Ja mam problem z: pdfcrop, bo u mnie nie działa!
Nieważne jakiej składni bym użył, to plik generuje się identyczny (te same md5sum).
Być może powodem jest brak pdfedit w systemie (wheezy). Przypuszczam, że wywalili go z repozytorium z powodu jego "jakości": http://www.ubucentrum.net/2008/02/edycja-plikw-pdf-w-linuksie-pdf-editor.html (komentarze).

Ps2: Do samego obcięcia stron mam w systemie dwa graficzne (po polsku) programy:
- pdfshuffler
- Master PDF Editor: http://www.dobreprogramy.pl/Master-PDF-Editor,Program,Linux,37540.html (prawdziwy kombajn).