dla początkujących
60
luty 2006
dla początkujących
PDF-y
61
www.lpmagazine.org
Dokumenty PDF
w Linuksie
Piotr Machej
I
nternet pozwala na komunikację
z ludźmi korzystającymi z najróżniej-
szych systemów operacyjnych i opro-
gramowania. W celu wymiany idei
i prezentowania informacji był potrzebny
jeden standard, który pozwoliłby na dostęp
do informacji każdemu, bez wyjątku. Po-
czątkowo najprostszym rozwiązaniem by-
ło stosowanie czystych plików tekstowych,
ale nie pozwalało to na wstawianie w odpo-
wiednich miejscach grafiki ilustrującej treść.
Obecnie najczęściej wykorzystywanym
w tym celu formatem plików jest PDF (Por-
table Document Format), stworzony i rozwi-
jany już od 15 lat przez firmę Adobe. Jest on
otwarty, dzięki czemu powstało wiele kon-
kurencyjnych aplikacji, pozwalających na
generowanie lub przeglądanie dokumen-
tów PDF. Co więcej, programy takie są
dostępne dla praktycznie wszystkich popu-
larnych platform, zarówno dla Windows,
UNIX, jak i dla Macintosh. O popularności
PDF świadczy to, jak wiele różnych doku-
mentów jest publikowanych z jego użyciem
– akty prawne, broszury, foldery, a nawet
elektroniczne wersje wielu czasopism.
Większość omawianego w artykule
oprogramowania jest dostarczana razem
z popularnymi dystrybucjami, więc jego
instalacja nie powinna sprawić kłopotów.
Przykład użycia
Nie tak dawno kończyłem pisanie mojej
pracy dyplomowej. Jak zwykle korzysta-
łem z procesora tekstu OpenOffice.org Writer.
Zastanawiałem się jedynie, w jakim forma-
cie dostarczyć pracę na uczelnię. Mogłem co
prawda przekonwertować końcowy doku-
ment do formatu Microsoft Word, ale miałem
co do tego nieco wątpliwości. W końcu mój
wybór padł na format Adobe PDF. Ponieważ
w tamtym czasie Writer dopiero zaczynał
obsługiwać eksport dokumentów do tego
formatu, skorzystałem z zewnętrznego pro-
gramu i po prostu "wydrukowałem" moją
pracę do dokumentu PDF. Dzięki temu
miałem pewność, że czytelnicy mojej pracy
zobaczą ją dokładnie w takiej formie, w ja-
kiej ją stworzyłem.
Możliwości formatu PDF przydały mi
się ponownie, gdy moja żona przygotowy-
wała swoją pracę semestralną. Aby uła-
twić jej zbieranie informacji stworzy-
łem niewielką elektroniczną ankietę, którą
umieściłem na stronie WWW. Tak stwo-
rzoną ankietę zainteresowane osoby mo-
gły wypełnić od razu w przeglądarce, a na-
stępnie albo zapisać na dysku i odesłać,
albo skorzystać z umieszczonego w niej
przycisku służącego do przesyłania danych
na serwer.
Przeglądarki
Użytkownicy komputerów, którzy mają sty-
czność z dokumentami PDF, większość cza-
su spędzają na czytaniu ich. Z tego po-
wodu ważne jest wybranie programu, który
prawidłowo wyświetli nasze pliki, a w do-
datku będzie wygodny, łatwy w obsłudze
i funkcjonalny. Równie ważne jest, aby bez-
problemowo drukował dokumenty, gdyż
czytanie z kartek mniej męczy oczy niż czy-
tanie z komputera. Poza tym, w dokumen-
cie PDF może być np. umowa z ban-
kiem, którą należy wydrukować, wypełnić
i odesłać zwykłą ("ślimaczą") pocztą.
Xpdf
Xpdf to przeglądarka dokumentów PDF,
która stanowi bazę dla wielu innych pro-
DVD
Po uruchomieniu Linux+ Live
DVD możesz skorzystać
z programów do przeglądania
PDF-ów, np. Acrobat Reader
lub KPDF, jak również do ich
tworzenia, np. OpenOffice.org.
Na płycie DVD
Na płycie DVD znajduje się
najnowsza wersja pakietu
Acrobat Reader 7.
dla początkujących
60
luty 2006
dla początkujących
PDF-y
61
www.lpmagazine.org
jektów. Wciąż rozwijana, przez długi czas
była standardową przeglądarką w wielu
dystrybucjach. Nie jest zbyt bogata
w funkcje, ale dla wielu użytkowników
jej prostota jest wielką zaletą. Poza tym,
wzbogacona jest o szereg narzędzi działa-
jących w trybie tekstowym, dzięki którym
można nie tylko uzyskiwać więcej infor-
macji o dokumentach PDF, ale i przetwa-
rzać je (np. wydobywając z dokumen-
tu wszystkie rysunki). Obecnie obsługuje
dokumenty PDF w wersji 1.5. Nie znaczy
to, że nie da się jej wykorzystać do czytania
dokumentów w wersji 1.6, ale, zależnie od
stopnia skomplikowania, mogą one spra-
wić problemy. Niestety, Xpdf nie obsługu-
je formularzy.
Jeśli uruchamiamy Xpdf z linii poleceń,
to możemy od razu podać nazwę pliku do
wyświetlenia, np.
xpdf file.pdf
. Możemy
też skorzystać z klawisza [O] i wskazać plik
już po uruchomieniu programu. W dolnej
części ekranu mamy do dyspozycji kilka
przycisków nawigacyjnych pozwalających
na poruszanie się po dokumencie, a także
pole umożliwiające zmianę stopnia powięk-
szenia strony. Szczególnie przydatne mogą
być poziomy fit page i fit width, pozwalające
odpowiednio na wyświetlenie całej strony
w oknie programu lub takie powiększe-
nie, aby strona zajmowała całą szerokość
okna. Ikona lornetki pozwala na wyszuki-
wanie w dokumencie tekstów. Należy mieć
na uwadze, że nie wszystkie teksty, które
możemy odczytać w dokumencie PDF,
dadzą się odnaleźć (najlepszym przykła-
dem takiego tekstu jest skan czasopisma).
Po znalezieniu konkretnego ciągu możemy
od razu wyszukać następne jego wystąpie-
nie kombinacją [Ctrl]+[G]. Xpdf ma również
problemy z wyszukiwaniem tekstów zawie-
rających narodowe znaki diakrytyczne – po
prostu nie da się ich wprowadzić w polu
wyszukiwania.
Znajdująca się tuż obok ikona drukar-
ki pozwala na drukowanie (sic!). Niestety,
nie mamy zbyt wielu opcji do wyboru.
Możemy jedynie określić polecenie dru-
kowania lub wskazać, do jakiego pliku
ma się odbywać drukowanie. Możemy też
wskazać zakres stron przeznaczonych do
wydrukowania.
Jeśli wolimy, aby program wyświe-
tlał wszystkie strony w jednym ciągu, to
możemy to uzyskać korzystając z menu
pod prawym przyciskiem myszki. Służy
do tego opcja Continuous view. Możemy też
skorzystać z opcji pozwalających na obra-
canie strony o 90 stopni, zgodnie lub prze-
ciwnie do ruchu wskazówek zegara (od-
powiednio Rotate clockwise i Rotate coun-
terclockwise). Przydaje się to wtedy, gdy w
dokumencie umieszczone są jakieś tabele
wydrukowane w poprzek kartki.
Po dokumencie możemy poruszać się
zarówno z pomocą myszki (środkowy
przycisk pozwala przesuwać stronę, działa
też kółko myszki), jak i z pomocą klawia-
tury. Do przesuwania strony służą klawi-
sze kursora oraz [PgUp] i [PgDn], a zmie-
niać strony można klawiszami [N] i [P].
Pełny spis skrótów klawiszowych uzyska-
my po wciśnięciu ikony pytajnika.
Do Xpdf jest dołączonych kilka narzę-
dzi tekstowych, które pozwalają uzyskać
więcej informacji o dokumencie. Przy-
kładowo, dzięki poleceniu
pdfinfo file.pdf
uzyskamy informacje o dacie utworzenia
i modyfikacji dokumentu, liczbie i roz-
miarze stron, zabezpieczeniach, a także
o wersji PDF. Z kolei polecenie
pdffonts
file.pdf
wyświetli informacje o czcion-
kach użytych w dokumencie.
Evince
Evince to obecnie standardowa przeglądar-
ka dokumentów PDF dla środowiska
GNOME. Należy jednak zwrócić uwagę, że
Evince pozwala przeglądać nie tylko doku-
menty PDF, ale również PostScript, Djvu,
Dvi, czy Tiff. Jak więc widać, autorzy Evince
starają się, aby ich program zastąpił wiele
różnych aplikacji wykorzystywanych do
przeglądania dokumentów. Skupmy się na
tym pierwszym formacie. Evince do rende-
rowania dokumentów PDF używa bibliote-
ki Poppler, która bazuje na kodzie Xpdf-3.0.
Można spodziewać się podobnej jakości
obrazu, tak jak w przypadku omawianego
wcześniej Xpdf. Występują również te same
ograniczenia, a więc brak obsługi formula-
rzy i PDF w wersji 1.6. Niestety, w obecnej
wersji biblioteki Poppler występuje jeszcze
wiele błędów (z czasem są one poprawia-
ne), co powoduje, że niektóre dokumen-
ty są nieczytelne. Zazwyczaj wyraża się to
problemami z właściwym wyświetleniem
czcionek, przez co zamiast liter pojawiają
się różne kwadraty i trójkąty lub po prostu
zupełnie bezsensowne zbitki liter. W przy-
padku trafienia na taki dokument trzeba
niestety skorzystać z Xpdf lub innej prze-
glądarki. Warto oczywiście zgłosić pro-
blem twórcom biblioteki Poppler wraz ze
wskazaniem dokumentu PDF sprawiające-
go problemu.
Jak można się domyślić, program uru-
chamiamy poleceniem
evince file.pdf
.
Jego obsługa nie odbiega zbytnio od
obsługi Xpdf. Evince jest nieco bogatszy w
opcje. Przykładowo, możemy skorzystać
z trybu pełnoekranowego (klawisz [F11])
lub trybu prezentacji (klawisz [F5]). Mo-
żna też wymusić wyświetlanie równo-
cześnie dwóch stron obok siebie. Oprócz
tego, dostępne jest okno właściwości
([Alt]+[Enter]), w którym można spraw-
dzić m.in. czcionki użyte w dokumencie.
Warto zwrócić uwagę na większą liczbę
opcji drukowania dokumentu – w Evince
można już kilkoma kliknięciami myszki
wybrać zakres stron i liczbę kopii, a także
zmienić rozmiary i ułożenie papieru.
W przyjemny sposób jest rozwiąza-
ne wyszukiwanie tekstów w dokumencie.
Od razu podczas wprowadzania wyszuki-
wanego słowa wyświetlana jest strona, na
której słowo to występuje. Podświetlane
są też wszystkie wystąpienia wprowa-
dzonego słowa oraz podawana informa-
cja o liczbie ich wystąpień na bieżącej stro-
nie. W odróżnieniu od Xpdf, Evince nie ma
kłopotów z narodowymi znakami diakry-
tycznymi.
Kpdf
Poznaliśmy już dwie przeglądarki doku-
mentów PDF i właśnie przechodzimy do
trzeciej. Można by się zastanawiać, po co
kolejny program realizujący ten sam cel?
Rysunek 1.
Xpdf stanowi podstawę
dla wielu innych przeglądarek
dokumentów PDF
Rysunek 2.
Evince ma problemy
z wyświetlaniem niektórych
dokumentów PDF
dla początkujących
62
luty 2006
dla początkujących
PDF-y
63
www.lpmagazine.org
Albert Astals Cid, jeden z autorów progra-
mu Kpdf, na podobne pytanie odpowie-
dział, że zadaniem Kpdf jest dostarczyć
program mający zarówno dobry interfejs
użytkownika, jak i dobry silnik renderu-
jący. Aby osiągnąć ten drugi cel, skorzy-
stano z już dopracowanego rozwiązania,
czyli klasycznego Xpdf. Oznacza to, że
również w tym przypadku możemy zapo-
mnieć o obsłudze formularzy.
Kpdf mamy dostarczane razem z KDE
(w pakiecie kdegraphics). Interfejs tego pro-
gramu, uruchamianego poleceniem
kpdf
file.pdf
, jest rzeczywiście bardzo przyjazny
i dopracowany. Jego obsługa nie powin-
na nikomu sprawić kłopotów. Poza znany-
mi już z Evince możliwościami, ciekawostką
jest możliwość ustawienia odstępu czasowe-
go podczas prezentacji, dzięki czemu nawet
nie trzeba sięgać do klawiatury, aby przełą-
czyć na następną stronę. Przydatną opcją,
której mogło brakować we wcześniej opi-
sanych programach, jest podgląd wydruku.
Podczas zlecania wydruku można nawet
wyznaczyć dokładny czas, kiedy drukowa-
nie ma być przeprowadzone.
Podobnie jak Evince, Kpdf nie ma kło-
potów z wyszukiwaniem tekstów zawie-
rających znaki diakrytyczne. W wyszu-
kiwaniu może pomóc przydatna funk-
cja, dostępna w miniaturkach. Chodzi
tu mianowicie o filtr. Jeśli w polu ponad
miniaturkami stron wpiszemy szuka-
ne słowo, to na spisie zostaną wyświetlo-
ne tylko te strony, które to słowo zawiera-
ją. Równocześnie, wszystkie wystąpienia
tego słowa zostaną podświetlone, więc na
pewno go nie przegapimy.
Adobe Reader
Ze wszystkich dostępnych dla Linuksa
przeglądarek dokumentów PDF najwię-
cej możliwości oferuje Adobe Reader. Jako
jedyna z opisywanych obsługuje formula-
rze. W zasadzie nie ma co się dziwić, skoro
stworzyła ją firma rozwijająca format
PDF. Niestety, choć jest udostępniana bez-
płatnie, to nie należy do Wolnego Opro-
gramowania, przez co większość dystry-
bucji jej nie zawiera. Na szczęście, każdy
może ją sobie ściągnąć ze strony domowej
Adobe lub z któregoś z repozytoriów (np.
pakiet dla Fedory znajduje się w repozyto-
rium DAG).
Po uruchomieniu programu polece-
niem
acroread file.pdf
(nazwa polecenia
to pozostałość po poprzedniej nazwie pro-
gramu – Acrobat Reader) możemy zapoznać
się z jego możliwościami. Na pasku narzę-
dzi mamy cały szereg użytecznych ikon.
Oprócz tak podstawowych, jak służące do
otwarcia pliku, wydrukowania dokumentu,
zmiany powiększenia czy obrócenia strony,
mamy również kilka, które nie pojawia-
ły się we wcześniej opisanych programach.
Należą do nich ikona pozwalająca na zapi-
sanie na dysku kopii aktualnie otwartego
dokumentu lub wysłanie go pocztą e-mail.
Adobe Reader dysponuje bardzo roz-
budowanym narzędziem do wyszukiwa-
nia tekstów. Uruchamia się je ikoną lornet-
ki. Pozwala ono na wyszukiwanie zada-
nego ciągu znaków nie tylko w bieżącym
dokumencie, ale również we wszystkich
dokumentach umieszczonych we wskaza-
nym katalogu. Po uruchomieniu wyszuki-
wania znalezione frazy wraz z fragmentem
tekstu są wypisywane w oknie wyszukiwa-
nia. Wskazanie ich powoduje wyświetlenie
odpowiedniego fragmentu dokumentu.
To od razu pokazuje kolejną przy-
datną funkcję programu Adobe Reader
– w jednym oknie może być otwartych
więcej dokumentów. Korzystając z menu
Window, można je ułożyć kaskadowo lub
jedno obok drugiego.
Przy czytaniu angielskich tekstów może
przydać się możliwość szybkiego spraw-
dzenia konkretnego słowa w słowniku.
Wystarczy wskazać wyraz i z menu dostęp-
nego pod prawym przyciskiem myszki
wybrać opcję Lookup. Spowoduje to otwarcie
w przeglądarce internetowej strony http://
dictionary.reference.com/ i wyszukanie na niej
znaczeń wskazanego wyrazu.
Również w opcjach wydruku można
znaleźć kilka przydatnych rozwiązań.
Najbardziej interesująca jest możliwość
dopasowania rozmiaru strony do zade-
klarowanego rozmiaru papieru. Dzięki
temu nie grozi nam, że drukowana strona
nie zmieści się na kartce (Shrink oversized
pages to paper size) lub też, że zajmie zale-
dwie ćwierć kartki (Expand small pages to
paper size). Ta druga opcja jest domyślnie
wyłączona.
Wtyczki do przeglądarek WWW
Jeśli dokumenty PDF publikowane na stro-
nach WWW chcemy oglądać bezpośrednio
w oknie przeglądarki, to musimy skorzystać
z odpowiedniej wtyczki. Najlepszym roz-
wiązaniem jest użycie wtyczki dostarczanej
wraz z Adobe Reader, tym bardziej, że dzięki
temu nie będziemy mieli kłopotów z wypeł-
nianiem i wysyłaniem formularzy PDF
publikowanych na stronach WWW.
W celu dodania wtyczki należy uzyskać
uprawnienia administratora (np. wydając
polecenie
su -
i podając hasło użytkownika
root), a następnie wydać polecenie:
ln -s /usr/local/Adobe/Acrobat7.0/
S
Browser/intellinux/nppdf.so
S
/usr/lib/mozilla/plugins/nppdf.so
Później pozostaje tylko ponownie urucho-
mić naszą przeglądarkę (Mozilla lub Firefox).
Może się zdarzyć, że w niektórych dystry-
bucjach nazwa katalogu źródłowego lub
docelowego będzie inna. Zależy to od tego,
gdzie zainstalowaliśmy program Adobe
Reader i jak jest skonfigurowana przeglądar-
ka. W takim przypadku należy odpowied-
nio dostosować powyższe polecenie.
Tworzenie PDF-ów
Jeszcze jakiś czas temu tworzenie doku-
mentów PDF wydawało się być domeną
osób posiadających płatne oprogramowa-
nie firmy Adobe (oczywiście, dla platformy
Windows). Obecnie praktycznie każdy może
tworzyć własne dokumenty PDF korzy-
stając z popularnych i wygodnych progra-
mów. Wiele z nich posiada już wbudowa-
ne opcje eksportowania do plików PDF.
W przypadku innych programów, pozba-
wionych takiej opcji, można spróbować
drukowania dokumentu do pliku PDF lub
różnych programów do konwersji.
Pakiet OpenOffice.org
OpenOffice.org to dobry przykład pakietu
biurowego, który zapewnia bezproblemo-
wy eksport do formatu PDF. W przypad-
ku OpenOffice.org w wersji 2.0 jest wyko-
rzystywany PDF w wersji 1.4. Niezależnie
od tego, w którym programie z pakietu
(z wyjątkiem Base) stworzymy dokument,
mamy możliwość wyeksportowania go do
formatu PDF. W tym celu możemy skorzy-
stać z ikony PDF widocznej w pasku narzę-
dzi. Korzystając z niej podajemy tylko loka-
Rysunek 3.
Kpdf ma bardzo wygodny
interfejs, lecz nawet on nie wyświetlił
poprawnie reklamy Firefoksa
dla początkujących
62
luty 2006
dla początkujących
PDF-y
63
www.lpmagazine.org
lizację, nazwę i typ pliku. Jeśli wolimy mieć
większy wpływ na opcje eksportu, powin-
niśmy skorzystać z opcji eksportu do PDF
dostępnej w menu. Oprócz wspomnia-
nych już opcji, możemy wtedy zdecydo-
wać, które strony mają być eksportowane.
Możemy nawet wskazać, że tylko zaznaczo-
ny obszar ma być wyeksportowany. Oprócz
tego, mamy wpływ na jakość obrazów
w docelowym dokumencie. Możemy skorzy-
stać z kompresji bezstratnej lub też ze strat-
nej kompresji JPEG. W tym drugim przy-
padku możemy procentowo określić pożą-
daną jakość obrazów. Możemy też zmniej-
szyć jakość obrazów podając niższą roz-
dzielczość w DPI. Wśród dostępnych opcji
ogólnych może nas zainteresować możli-
wość tzw. otagowania dokumentu PDF,
czyli dołączenia do niego specjalnych znacz-
ników. Może to znacząco zwiększyć roz-
miar pliku wynikowego. Niektóre z eks-
portowanych znaczników to np. spis treści
czy hiperłącza. Kolejna opcja pozwala na
wyeksportowanie notatek dołączonych do
dokumentów w aplikacjach Writer lub Calc
i zapisanie ich jako notatek PDF. Opcja
odpowiadająca za użycie efektów przeni-
kania dotyczy tylko prezentacji tworzonych
w Impress i pozwala na przekonwerto-
wanie niektórych efektów przenikania na
odpowiadające efekty PDF. Ostatnia opcja
dotyczy tylko dokumentów zawierających
formularze. Możemy wybrać, w jakim for-
macie mają być przesyłane formularze z pli-
ku PDF. Ustawienie wartości FDF spowo-
duje, że przesyłane będą tylko kontrolne
wartości. Wartość PDF spowoduje przesła-
nie całego dokumentu. Poza tym możemy
też ustawić wartości HTML i XML. Po skon-
wertowaniu pozostaje już tylko otworzyć
plik w ulubionej przeglądarce i sprawdzić,
jak się prezentuje.
Nie wszyscy wiedzą, że w OpenOffice.org
można tworzyć formularze. Ich zaletą jest
to, że po wyeksportowaniu do formatu PDF
można je wypełniać w przeglądarce Adobe
Reader, a następnie wydrukować już wypeł-
nione. Jest to znakomity sposób na tworze-
nie różnego typu ankiet, wzorów umów
lub formularzy zgłoszeniowych. Zanim
zaczniemy dodawać do dokumentu ele-
menty formularza, należy wyświetlić odpo-
wiedni pasek narzędzi. W tym celu wybie-
ramy z menu pozycję Widok->Paski narzę-
dzi-> Formanty. Następnie możemy wpro-
wadzić nagłówki i nazwy poszczególnych
pól. Gdy już zdecydujemy się na układ
dokumentu, możemy skorzystać z paska
narzędzi i wybrać z niego np. pole tekstowe.
Wskazujemy lewy górny róg pola, przy-
trzymujemy lewy przycisk myszki i prze-
ciągamy do prawego dolnego rogu. W ten
sposób możemy dodać większą liczbę pól.
W przypadku takich pól, jak np. Combo Box,
można podłączyć źródła danych, z którego
będą pobierane wartości dla pola. W takim
przypadku wcześniej należy przygoto-
wać odpowiednią bazę danych. Można też
wartości do wyboru wprowadzić ręcznie.
W tym celu należy we właściwościach pola
odnaleźć pozycję Pozycje listy i tam wpro-
wadzić odpowiednie wartości oddzielając
je wciśnięciami kombinacji [Shift]+[Enter].
Jeśli chcemy formularz umieścić na stro-
nie WWW i umożliwić wypełniającym go
osobom przesyłanie informacji na serwer,
to powinniśmy dodać też przycisk wysyła-
jący. Oprócz tego, należy w opcjach formu-
larza podać adres URL, pod którym umie-
ścimy skrypt (np. napisany w PHP) prze-
twarzający przesyłane dane.
Na koniec eksportujemy dokument do
formatu PDF i sprawdzamy, jak zachowu-
je się w przeglądarce Adobe Reader.
Scribus
Scribus to narzędzie świetnie nadające się
do tworzenia wszelkiego typu broszur,
gazetek, materiałów reklamowych, a także
interaktywnych formularzy. Dla nas jego
wielką zaletą jest fakt, że posiada możli-
wość zapisywania wyniku pracy w doku-
mentach PDF. Nie będziemy tu dokład-
nie omawiać obsługi tego programu, ale
zwrócimy uwagę na jedną ze wspomnia-
nych możliwości, a więc na interaktywne
formularze.
Podczas wprowadzania danych czasem
popełnia się mniejsze lub większe błędy.
Może też się okazać, że na wypełnieniu
niektórych pól bardziej nam zależy niż na
innych. Z tego powodu nie do pogardze-
nia jest możliwość takiego skonstruowa-
nia formularza, aby powiadamiał użytkow-
nika o prostych błędach (jak np. wpisanie
liter w polu daty), czy o tym, że konkretne
pola muszą być wypełnione. Scribus pozwa-
la tworzyć takie formularze dzięki wykorzy-
staniu skryptów w języku JavaScript.
Przy tworzeniu formularzy warto ko--
rzystać z wyświetlania siatki, dzięki czemu
łatwiej jest pozycjonować poszczególne
elementy. Następnie należy utworzyć od-
powiednią liczbę ramek tekstowych (ko-
rzystając z narzędzia wywoływanego kla-
wiszem [T]). Wpisujemy do nich nagłó-
wek formularza i nazwy poszczególnych
Rysunek 4.
Acrobat Reader znakomicie
się sprawdza jako wtyczka do
przeglądarek Mozilli
Rysunek 5.
W Scribusie brakuje jeszcze możliwości dodawania do formularzy przycisków
wyboru (radio buttons)
dla początkujących
64
luty 2006
dla początkujących
PDF-y
65
www.lpmagazine.org
pól. We właściwościach ramki można od-
powiednio zmienić krój, kolor i rozmiar
czcionki, a także opcje wyrównywania.
Następnie dodajemy pola tekstowe, w któ-
rych użytkownik będzie wpisywał infor-
macje. Znajdują się one w zestawie ikon
ukrytym pod ikoną z napisem OK. Dwu-
krotnym kliknięciem na dodanym polu
otwieramy okno z właściwościami pola.
Jeśli zamierzamy przesyłać informacje
z formularza do skryptu, to powinniśmy
ustawić nazwę dla każdego pola. Będzie
ona później wykorzystywana w skrypcie
do odebrania i analizowania danych.
Warto odpowiednio ustawić, w jaki
sposób ma być formatowane pole. Przy-
kładowo, w przypadku pola z datą urodzin
można narzucić format tej daty. Można też
wymusić, aby w polu dało się wpisać tylko
wartość liczbową. W przypadku błędnie
wpisanej daty podczas wypełniania for-
mularza przeglądarka zaprotestuje. Warto
ułatwić użytkownikowi życie i w pod-
powiedzi podać właściwy format pola.
W przypadku pola przeznaczonego tylko
do wpisywania liczb, użytkownik nawet
nie będzie miał możliwości wpisać innych
znaków niż cyfry. Oprócz tego, można
ustawić sprawdzanie, czy wpisana war-
tość należy do określonego przedziału. Mo-
żna też sprawić, że wartość pola będzie
wyliczana automatycznie, np. jako suma
lub średnia innych pól. W obu tych przy-
padkach można wprowadzić własny kod
w JavaScript, który będzie sprawdzał war-
tość i odpowiednio reagował (np. powiada-
miając użytkownika). Przykładowy skrypt
może wyglądać tak:
if (event.value != 55) {
app.alert({ cMsg: "Wpisz 55!",
S
cTitle: "Ostrzeżenie" });
}
Do wysyłania formularza będzie nam też
potrzebny przycisk. Dodajemy go korzy-
stając z ikony z napisem OK. W jego właści-
wościach należy zmienić domyślną akcję
na wysyłanie formularza i wpisać odpo-
wiedni adres URL, pod którym znajduje
się nasz skrypt analizujący dane. Warto też
zaznaczyć, aby dane były wysyłane jako
HTML, chyba, że chcemy obsługiwać prze-
syłanie danych w formacie FDF.
Przy eksportowaniu formularza do for-
matu PDF warto zwrócić uwagę na to, aby
nie zagnieżdżać fontów. Najlepiej wyko-
rzystać fonty dostarczane wraz z Adobe
Reader, gdyż wtedy można liczyć na naj-
lepszą obsługę – formularz będzie wyglą-
dał zgodnie z oczekiwaniami, a w dodat-
ku jego rozmiar nie zwiększy się o zagnież-
dżone fonty. Oczywiście, można też zabez-
pieczyć nasz formularz hasłem i zabronić
kopiowania tekstu i grafik.
Wydobywanie informacji
Zdarza się, że zawarte w dokumentach
PDF informacje są bardzo ciekawe i chcie-
libyśmy je zacytować w jakimś własnym
opracowaniu. Możliwe też, że umieszczo-
ne w dokumencie grafiki świetnie obrazują
jakieś zagadnienie. W takich przypadkach
przydałoby się, gdyby można było wydo-
być tekst lub poszczególne rysunki z doku-
mentu i wkleić go w naszym własnym.
Zależnie od tego, jaki program wyko-
rzystujemy do przeglądania dokumen-
tów, możemy uzyskać to w różny sposób.
Oczywiście warunkiem, abyśmy mogli
kopiować jest brak zabezpieczeń w pliku
lub znajomość hasła zabezpieczającego.
Adobe Reader
Ten program jest jakby stworzony do ko-
piowania informacji do innych progra-
mów. W pasku narzędzi obok ikony dłoni
dostępne są ikony narzędzia zaznacza-
nia tekstu oraz narzędzia do kopiowania
rysunków. Podczas zaznaczania tekstów
należy uważać, aby nie zaznaczać zbyt
dużych obszarów. W przypadku zazna-
czania kilku kolumn efekt może odbiegać
od naszych oczekiwań. Widać to jednak
od razu po wyglądzie zaznaczenia, więc
zawsze można je skorygować tak, aby
obejmowało dokładnie wymagany obszar.
Po prostu przy większej partii tekstu może
okazać się, że konieczne będzie kilkukrot-
ne kopiowanie kolejnych fragmentów.
Do właściwego skopiowania zaznaczone-
go tekstu wykorzystujemy standardowy
skrót klawiszowy, czyli [Ctrl]+[C]. Tekst
zostanie skopiowany do schowka, a póź-
niej możemy go wkleić do innego progra-
mu, np. do OpenOffice Writer.
Trochę inaczej zachowuje się narzędzie
do kopiowania rysunków (Snapshot Tool).
W jego przypadku wskazujemy myszką
jeden narożnik obszaru przeznaczonego
do skopiowania, a następnie przyciskając
lewy przycisk myszki przeciągamy kursor
do przeciwległego narożnika pożądane-
go obszaru. Po zwolnieniu lewego przy-
cisku myszki zaznaczony obszar zosta-
nie od razu umieszczony w schowku w
formie mapy bitowej. Z tego powodu
zwykłe wklejenie do OpenOffice.org Writer
nie zadziała. Musimy skorzystać z wkle-
jania specjalnego, dostępnego poprzez
kombinację klawiszy [Ctrl]+[Shift]+[V].
W otwartym oknie należy wskazać, że
chcemy zaimportować informacje w posta-
ci mapy bitowej.
Niestety, za pośrednictwem schowka
nie da się skopiować grafiki do popular-
nego programu graficznego Gimp. Zamiast
tego, można skorzystać z programu Kpdf,
który ma odpowiednią funkcjonalność lub
z innych narzędzi do wydzielania grafiki
z pliku, takich jak opisywany dalej pro-
gram Pdfimages (rozwiązanie to nie jest już
tak wygodne). Wynika to z tego, że korzy-
stając z narzędzia zaznaczania rysunków
w programie Adobe Reader możemy zazna-
czyć dowolny obszar, nawet zawierają-
cy tekst i kilka rysunków lub tylko mały
fragment dużego rysunku. W związku
z tym nie jesteśmy ograniczeni tym, z ja-
kich części składowych został zbudowany
dokument – po prostu zaznaczamy intere-
sujący nas widoczny obszar.
Evince
W porównaniu do Adobe Reader, Evince
nie radzi sobie aż tak dobrze z kopiowa-
niem tekstów. O ile bez problemu można
zaznaczyć tekst, gdy zajmuje on całą sze-
rokość strony, to w przypadku, gdy jest
podzielony na kolumny, sprawia to już
kłopot. Gdy chcemy zaznaczyć pojedyn-
czą kolumnę, to w mało intuicyjny sposób
są zaznaczane również niektóre obszary
drugiej kolumny. W dodatku przy wkle-
janiu tak zaznaczonego tekstu zachowany
jest układ kolumn, przez co edycja takiego
tekstu staje się cokolwiek problematycz-
na (w jednej linii w OpenOffice.org Writer
możemy mieć fragmenty zarówno pierw-
szej, jak i drugiej kolumny tekstu źródło-
wego). Adobe Reader w takim przypad-
ku zachowuje się znacznie inteligentniej,
wklejając tekst jako jedną kolumnę. Warto
Rysunek 6.
W dokumentacji OpenOffice
Writera można znaleźć dokładne
wskazówki pomocne przy tworzeniu
formularzy
dla początkujących
64
luty 2006
dla początkujących
PDF-y
65
www.lpmagazine.org
też zaznaczyć, że w przeciwieństwie do
Adobe Reader, Evince nie stara się zachować
informacji o użytej czcionce.
Jeśli chodzi o zaznaczanie i kopiowa-
nie grafiki, to niestety Evince nie posiada
takiej funkcjonalności. Musimy skorzystać
z innych narzędzi. Do kopiowania zazna-
czonego tekstu korzystamy ze standardo-
wej kombinacji klawiszy [Ctrl]+[C].
Xpdf
Również Xpdf radzi sobie tylko z kopiowa-
niem tekstu – o grafice niestety możemy
zapomnieć (przynajmniej jeśli nie użyjemy
opisanych dalej narzędzi dołączonych do
Xpdf). W odróżnieniu od opisywanych wcze-
śniej aplikacji, podczas zaznaczania w ogóle
nie dba o układ dokumentu. Zaznaczenie
(dokonywane z przytrzymaniem lewego
przycisku myszki) zawsze ma formę prosto-
kąta, musimy więc sami zadbać, aby objęło
odpowiedni obszar. W tym przypadku
kombinacja klawiszy [Ctrl]+[C] nie poskut-
kuje. Zamiast tego, po zaznaczeniu obsza-
ru tekstu i przełączeniu się na inną aplika-
cję, wklejamy do niej tekst wciskając środko-
wy przycisk myszki. Możemy w ten sposób
wkleić tekst zarówno do aplikacji teksto-
wych (np. OpenOffice.org Writer), jak i do
graficznych (np. KolourPaint). Oczywiście,
metoda taka działa również i w przypadku
zaznaczeń tekstu dokonywanych we wcze-
śniej opisanych programach.
Kpdf
W programie Kpdf zaznaczanie obszarów
jest rozwiązane podobnie jak w Xpdf – rów-
nież tutaj obszar zaznaczenia ma kształt
prostokąta. Najpierw należy korzystając
z ikony na pasku narzędzi przełączyć
mysz w tryb wybierania. Gdy obrysuje-
my prostokątem interesujący nas obszar,
pojawi się okienko dające nam wybór. Jeśli
w zaznaczonym obszarze znajduje się tekst,
to zobaczymy informację o liczbie znaków
i dostępną opcję skopiowania tekstu do
schowka. Oprócz tego, mamy możliwość
potraktowania zaznaczenia jako rysunku.
W okienku podany jest rozmiar zaznacze-
nia, a także mamy do wyboru, czy obrazek
ma być skopiowany do schowka, czy też
zapisany do pliku. Co ważne, grafikę sko-
piowaną z Kpdf do schowka można swo-
bodnie wkleić w programie Gimp.
Program traktuje tekst umieszczony
w wielu kolumnach podobnie, jak robią to
Evince i Xpdf. Oznacza to, że lepiej zazna-
czać pojedyncze kolumny i kopiować je
po kolei.
Pdftotext
W jednym pakiecie z programem Xpdf jest
dostarczanych kilka przydatnych narzę-
dzi działających w trybie tekstowym.
Jednym z nich jest Pdftotext, czyli narzę-
dzie pozwalające na konwersję z formatu
PDF do pliku tekstowego. Może ono być
szczególnie przydatne, gdy chcemy prze-
konwertować więcej niż tylko krótkie frag-
menty tekstu (np. cały dokument lub kilka
wybranych stron).
Najprostsze użycie tego narzędzia to
wydanie polecenia:
pdftotext -f 2 -l 5 file.pdf file.txt
Spowoduje to odczytanie całego tekstu ze
stron 2, 3, 4 i 5 (-f to strona początkowa,
a -l – końcowa) z pliku file.pdf i zapisanie
go w pliku file.txt. Jeśli zależy nam na tym,
aby w pliku tekstowym w miarę możliwo-
ści został zachowany układ dokumentu,
musimy dodać jeszcze opcję -layout:
pdftotext -f 2 -l 5 -layout
S
file.pdf file.txt
Należy się jednak liczyć z tym, że ewentual-
na edycja takiego tekstu może być trudniej-
sza (np. jeśli tekst był podzielony na kolum-
ny). W dodatku, w pliku wynikowym całko-
wicie zostanie zignorowane istnienie grafik.
Nie otrzymamy o nich żadnych informacji,
a jedynie w przypadku korzystania z opcji
-layout może być w odpowiednich miejscach
pozostawione puste miejsce.
Jeśli okaże się, że w pliku wynikowym
brakuje niektórych fragmentów tekstu, to
może to wynikać z faktu, że dany tekst
został na stałe wtopiony w plik graficzny,
więc dla programu jest już nie do odróż-
nienia od innych rysunków. Może też
to wynikać z faktu, że Xpdf na razie nie
obsługuje poprawnie dokumentów PDF
w wersji 1.6.
Pdfimages
Inne dołączone do pakietu Xpdf narzę-
dzie to Pdfimages. Program ten pozwala na
wydzielenie umieszczonych w dokumen-
cie PDF rysunków do osobnych plików
graficznych.
Składnia polecenia jest podobna to po-
znanego wcześniej Pdftotext:
pdfimages -f 5 -l 5 -j file.pdf pic
Polecenie to spowoduje przeanalizowanie
piątej strony dokumentu file.pdf. Znalezio-
ne na niej rysunki zostaną zapisane do
plików o nazwach zaczynających się od
słowa pic (ostatniego argumentu polece-
nia) z dodanym myślnikiem i numerem
pliku. W miarę możliwości pliki będą za-
pisywane w formacie JPEG (dzięki opcji
-j), a jeśli nie, to w formatach PBM (dla
plików monochromatycznych) lub PPM.
Gdybyśmy nie użyli opcji -j, to rysunki
byłyby zapisywane tylko w formatach
PBM i PPM.
Zakończenie
W ten sposób omówiliśmy tworzenie
i przeglądanie dokumentów PDF, a także
wydobywanie z nich konkretnych infor-
macji. Nasuwające się naturalnie pyta-
nie brzmi, co z edycją takich dokumen-
tów? Dokumenty PDF zostały pomyśla-
ne jako efekt końcowy, uwieńczenie pracy.
Z tego powodu najlepszą metodą zmiany
ich zawartości jest posiadanie i edycja
materiału źródłowego, z którego doku-
ment został wygenerowany. Oczywiście,
Adobe Reader daje możliwość (o ile nie
zabroni tego autor dokumentu) ograniczo-
nej edycji – dodawania notek czy wypeł-
niania formularzy. Jeśli nie zadowala nas
to, a nie posiadamy materiału źródłowe-
go, musimy posiłkować się możliwością
konwersji PDF do innych formatów (np.
HTML) lub wydobywania z niego tekstu
i grafiki.
W Internecie:
• Strona domowa Xpdf:
http://www.foolabs.com/xpdf/
• Strona domowa Evince:
http://www.gnome.org/projects/
evince/
• Strona domowa Poppler:
http://poppler.freedesktop.org/
• Strona domowa Kpdf:
http://kpdf.kde.org/
• Wywiad z jednym z twórców Kpdf:
http://www.kde.ie/apps/kpdf/
interview.php
• Strona domowa Adobe Reader:
http://www.adobe.com/products/
acrobat/readermain.html
• Web Hosting PDFs:
http://www.planetpdf.com/developer/
article.asp?contentid=6526&ra
• Acrobat PDF Forms: A Step-by-step
Introduction:
http://www.planetpdf.com/developer/
article.asp?contentid=6480&ra