wtorek, 29 marca 2016

Z czym do PDF?

Uważny czytelnik poprzednich wpisów dotyczących zastosowań biurowych starych komputerów z pewnością zauważył, że o ile w przypadku, gdy wyniki pracy mają mieć formę dokumentu drukowanego na papierze, możemy sobie praktycznie swobodnie korzystać z naszego leciwego sprzętu i oprogramowania uzyskując w pełni profesjonalne wyniki, o tyle wymiana dokumentów w formie elektronicznej napotyka na trudności: starsze oprogramowanie nie odczytuje formatów dokumentów sporządzonych przy pomocy nowszych wersji i na odwrót, a nawet jeśli odczytuje, pojawiają się problemy z formatowaniem. Do nielicznych chlubnych wyjątków należy OpenOffice, w którym nie ma większych problemów z wymianą plików utworzonych w różnych wersjach oprogramowania, chociaż współpraca z użytkownikami pakietów Microsoftu nie wygląda już tak dobrze.

Od czego jednak format PDF? Wprawdzie pliki w tym formacie nie są w zasadzie przeznaczone do modyfikowania (chociaż istnieją programy, głównie komercyjne, umożliwiające ich edycję), ale za to mogą być odczytywane i tworzone przy pomocy niemal każdego komputera, pod kontrolą prawie każdego systemu operacyjnego. Postaram się udowodnić, że również posiadacze nawet bardzo wiekowych komputerów PC nie stoją w tym przypadku na straconej pozycji.

Dla porządku dodam tylko, że nie będę się tu zajmował rozszerzeniami formatu PDF o elementy interaktywne (formularze z edytowalnymi polami) czy multimedialne. Są one oczywiście przydatne, ale efekty takie można osiągnąć innymi metodami, nie pakując „na siłę” do PDF-a. Ograniczam się do takich dokumentów, które niczego nie tracą po przeniesieniu na papier.

1. Czytniki PDF

Na początek zajmijmy się programami umożliwiającymi odczytywanie plików PDF na komputerach z systemem operacyjnym Windows 98 (i starszymi). Użytkownicy nowszego sprzętu i nowocześniejszych systemów operacyjnych bez trudu znajdą odpowiednie oprogramowanie sami.


Naturalnym wyborem wydaje się Adobe Reader. Został opracowany przez autorów specyfikacji (co powinno skutkować bezbłędnym i sprawnym działaniem), wersje aż do 6.x pracują pod Windows 98, zaś otwieranie plików z zabezpieczeniami „antypirackimi” (DRM) może być możliwe tylko przy pomocy czytnika firmy Adobe. Na uwagę zasługują duże możliwości konfiguracji, zwłaszcza jeśli chodzi o dostosowanie sposobu wygładzania wyświetlanego tekstu i obrazów do parametrów monitora i indywidualnych preferencji użytkownika. Wprawdzie rozwój formatu PDF nie stoi w miejscu, jednak Adobe Reader w wersji 6.0 i dziś jeszcze powinien poradzić sobie z większością plików. Podstawowym zarzutem stawianym temu programowi jest stosunkowo długi (jak na prosty czytnik) czas uruchamiania oraz powolne działanie na komputerach o słabej konfiguracji sprzętowej. Bez przesady jednak: mówimy o „słabej konfiguracji” na rok 2005. Wtedy Pentium III 500 MHz i 128 MB RAM nie było jeszcze takie złe.


Foxit PDF Reader to jedna z najbardziej znanych alternatyw dla Acrobat Readera. W porównaniu z czytnikiem firmy Adobe odznacza się znacznie większą szybkością uruchamiania, wydajniejszą pracą i dużo mniejszym zapotrzebowaniem na zasoby systemowe. Wszystkie te cechy sprawiają, że wydaje się on szczególnie odpowiedni dla starych komputerów. Podstawową wadą jest brak „wtyczek” obsługujących DRM.

Przegląd rozpoczynam od wersji 1.3, która z dzisiejszego punktu widzenia wydaje się bardzo przestarzała: zapewnia jedynie podstawową funkcjonalność i ma problemy z otwieraniem nowszych wersji plików PDF. Ma też jednak swoje zalety: wyjątkowo małe zapotrzebowanie na zasoby systemowe i nie wymaga instalacji (wystarczy skopiować plik EXE). Polecam szczególnie użytkownikom najsłabszych konfiguracji sprzętowych, oraz... użytkownikom systemu operacyjnego Windows 95, z którym ta wersja Foxit Readera jest kompatybilna (nowsze już nie).


To ostatnia kompilacja Foxit Readera z serii 2.x i zarazem ostatnia oficjalnie współpracująca z Windows 98. W porównaniu z wersją 1.3 znacznie lepiej radzi sobie z różnymi wersjami plików PDF i jeśli z jakichś powodów nie chcemy instalować KernelEx (właściwie z jakich?) pozostaje, moim zdaniem, najlepszym wyborem dla Windows 98. Wprawdzie dystrybuowana jest w postaci pliku instalacyjnego, jednak to tylko dla wygody. W rzeczywistości program nie wymaga instalacji, po skopiowaniu na inny komputer katalogu z aplikacją lub nawet samego pliku EXE – będzie działał.


To z kolei ostatnia kompilacja z serii 3.0, ale nie ostatnia 3.x. W porównaniu z wersjami 2.x znacznie lepiej radzi sobie z nowymi wersjami plików PDF aż do standardu 1.7. Dla mnie to wybór do codziennej pracy pod Windows 98 z KernelEx. Działa szybko i w miarę stabilnie, chociaż istnieje przeglądarka jeszcze szybsza i jeszcze „lżejsza”, o czym trochę dalej.

Nowsze wersje Foxit PDF Reader (KernelEx)

Korzystając z KernelExa można pod Windows 98 uruchamiać jeszcze nowsze wersje PDF Readera, teoretycznie, z pewnymi dodatkowymi „kombinacjami” (potrzebne jest między innymi KernelEx Auxiliary PSAPI.DLL Update) aż do wersji 7.x. Jednak po zainstalowaniu wersji 3.2 (która żadnych „kombinacji” nie wymaga) stwierdziłem, że wprawdzie program działa i pliki PDF dają się przeglądać, ale po otwarciu panela zakładek (Bookmarks), zamiast liter widoczne są jakieś kwadraciki i inne „krzaczki”. Ja lubię, kiedy mi wszystko działa poprawnie, dlatego pozostałem (pod Windows 98) przy wersji 3.0.

Uwaga:
Wszystkie wersje Foxit Readera uruchamiane pod Windows 98 mają wadę polegającą na „wyciekaniu” pamięci. Objawia się to tym, że im dłużej używamy programu i im więcej wykonujemy w nim operacji polegających głównie na przewijaniu czytanego tekstu, tym więcej pamięci systemu program zajmuje, aż do „wyłożenia się” Windows z powodu braku zasobów. To właśnie między innymi z powodu tego programu zalecam (patrz artykuł „Jak z Windows 98 zrobić system operacyjny - cz. 3”) używanie miernika zasobów systemowych: kiedy ikona w zasobniku zmieni kolor na żółty (a jeśli na czerwony, to natychmiast), zamykamy Foxit Readera i po kilku chwilach otwieramy ponownie. Większość zablokowanej pamięci zostanie zwolniona, a dzięki zapamiętywaniu przez program ostatnio czytanej strony dokumentu, operacja nie jest specjalnie uciążliwa.

Sumatra PDF 1.3 KernelEx

To chyba zdecydowanie najszybsza i „najlżejsza” przeglądarka PDF dla komputerów PC. Wprawdzie autor, Krzysztof Kowalczyk, zarzekał się na forum, że program nie jest kompatybilny z Windows 98, ale może dlatego stworzył być może najlepszą przeglądarkę PDF dla... Windows 98, oczywiście pod warunkiem używania KernelExa (tryb kompatybilności należy ustawić na Windows XP). Program nie dorównuje funkcjonalnością Foxit Readerowi, ale też nigdy nie miał taki być: nacisk został położony zdecydowanie na szybkość działania i małe rozmiary aplikacji. No ale czy naprawdę w warunkach domowych nie możecie żyć bez zaawansowanych funkcji w przeglądarce PDF?

Sumatra pod Windows 98 nie zachowuje się zbyt dobrze jako domyślna przeglądarka. Przy próbie wywołania przez kliknięcie odnośnika w innej aplikacji (np. załącznika w formie pliku PDF w programie pocztowym) może się po prostu nie uruchomić. Jest to główna przyczyna tego, że u mnie domyślną przeglądarką pozostaje Foxit Reader, ale zainstalowane mam obie.

Nowsze wersje Sumatra PDF (KernelEx)

Według informacji na stronie Wiki, z KernelEx można uruchamiać pod Windows 98 również nowsze wersje Sumatra PDF, aż do 3.1.1. Związane to jest z różnymi trudnościami: albo wymagane są rozszerzenia KernelEx w rodzaju Kext, albo wymiana w systemie niektórych plików DLL, albo wreszcie niektóre elementy programu Sumatra PDF, jak na przykład przyciski czy menu, nie działają poprawnie. Ja nie mam dużo czasu na eksperymenty i lubię jak mi wszystko działa, zostaję zatem przy wersji 1.3.

2. PDF na Pocket PC

Wydaje się, że chyba nie można sobie wyobrazić gorszego urządzenia do przeglądania dokumentów w formacie PDF, niż Pocket PC. Ekran o przekątnej 3,5 cala i rozdzielczości 240x320 powoduje, że na wyświetlonej stronie nie da się nic odczytać. Można wprawdzie powiększyć obraz tak, aby litery stały się czytelne, ale wtedy wiersz nie mieści się na ekranie i trzeba bez przerwy przewijać w prawo i w lewo. Nie pomaga nawet obrócenie obrazu o 90°. Na coś takiego można się ewentualnie zgodzić tylko od czasu do czasu, w sytuacjach „wyższej konieczności”. Wszystko byłoby w porządku, gdyby udało się „przełamać” wiersz w innym miejscu, tak aby po powiększeniu długość wiersza była dopasowana do szerokości ekranu. Na to jednak „sztywny” format PDF nie pozwala: obraz na ekranie ma wiernie (w miarę możliwości) odwzorowywać wygląd strony wydrukowanej.


Rozwiązaniem zaproponowanym przez firmę Adobe jest plik PDF ze znacznikami (tagged PDF). W tym formacie do pliku dodawana jest specjalna informacja umożliwiająca dostosowanie wyświetlania dokumentu do możliwości urządzeń mobilnych. Czytnikiem obsługującym takie pliki jest Adobe Reader 2.0 dla Pocket PC. Cóż jednak począć, skoro większość plików PDF nie zawiera tych znaczników? Microsoft to przewidział: podczas kopiowania pliku PDF na urządzenie mobilne przy użyciu programu ActiveSync, proponowana jest automatyczna konwersja*. Nie jest to może najszybszy sposób, ale skuteczny.

Może nie jedyny, ale chyba najważniejszy problem dla polskiego czytelnika polega na tym, że to rozwiązanie nie zawsze działa zgodnie z oczekiwaniami, a to ze względu na różne standardy kodowania „polskich znaków”: nie dość, że mogą być one w niektórych plikach nieprawidłowo wyświetlane, to jeszcze ich kody mogą kolidować ze znacznikami używanymi do formatowania, wskutek czego po konwersji na tagged PDF otrzymamy nieczytelną „sieczkę”.


Program PocketXpdf należący do oprogramowania open source i wywodzący się z linuksowego projektu Xpdf oferuje inne rozwiązanie problemu: klikając „View” → „View Text Only” otrzymujemy podgląd czystego tekstu „wyciągniętego” z pliku PDF. Prezentowany jest on czcionką rastrową, która jest maksymalnie kontrastowa (każdy piksel jest albo „biały”, albo „czarny” bez odcieni pośrednich), a jej kontury są „ostre”, bez żadnego rozmycia. Nie jest może tak ładna, jak oryginalna czcionka dokumentu, ale czy trzeba koniecznie odtwarzać wygląd czcionki? W przypadku większości dokumentów najważniejsza jest treść.

Na prezentowanej fotografii widoczna jest pewna wada tej metody: nie wszystkie wiersze przełamane są prawidłowo. Zdarza się, że przeniesienie następuje w środku wyrazu, w innym znów miejscu znak przeniesienia występuje w środku wiersza. Zapewniam jednak, że łatwo się do tego przyzwyczaić i czytanie nawet obszernych tekstów, takich jak e-booki, nie nastręcza większych trudności.

Jeszcze uwaga na temat „polskich znaków”. W prezentowanym przykładzie zostały one przekodowane poprawnie, nie zawsze jednak sytuacja wygląda tak dobrze i może się zdarzyć, że po przełączeniu do widoku tekstowego widzimy jakieś „krzaczki”. Istnieją też pliki PDF skonstruowane w ten sposób, że najpierw wyświetlana jest odpowiednia litera z podstawowego alfabetu łacińskiego, potem jest znak powrotu karetki wirtualnej drukarki i „dorysowywany” jest „ogonek”. PocketXpdf nie interpretuje jednak powrotów karetki, wskutek czego znak i „ogonek” występują obok siebie. Czytanie takich plików może być bardzo uciążliwe.

Jeśli dokument PDF nie daje się przeglądać na Pocket PC żadnym z dostępnych czytników, można spróbować jeszcze jeszcze jednej drogi wyjścia: konwersji na inny format, bardziej „strawny” dla urządzeń mobilnych. O tym jednak zamierzam napisać później, poświęcając odrębny wpis czytaniu e-booków.

3. Tworzymy PDF-y

Skoro z odczytywaniem plików PDF nie ma większych problemów, zastanówmy się teraz, jak je tworzyć, oczywiście na naszych leciwych PC-tach. Naturalnie nie używamy do tego pełnej wersji Adobe Acrobat, chociaż jego starsze wersje działają pod Windows 98 i jest on narzędziem o bardzo dużych możliwościach, pozwalającym nie tylko tworzyć, ale także obrabiać pliki PDF. Kosztuje jednak stanowczo za dużo w stosunku do swojego przeznaczenia. Pozostawmy zatem to narzędzie profesjonalistom, chyba że ktoś już ma licencję, na przykład zakupioną przez pracodawcę, wtedy jak najbardziej może używać.

Dla tych jednak, którzy nie chcą płacić dużych pieniędzy (a najlepiej żadnych) za możliwość tworzenia plików PDF, wymyślono stosunkowo proste programy, działające na zasadzie wirtualnej drukarki. „Wydrukowanie” dokumentu na takiej drukarce powoduje w rzeczywistości utworzenie PDF-a. Jako że jest to możliwe z poziomu dowolnej aplikacji Windows, wliczając w to procesory tekstów, edytory graficzne, programy typu CAD, a nawet oprogramowanie do małej poligrafii (desktop publishing), uzyskujemy w praktyce bardzo duże możliwości kreowania elektronicznych dokumentów.

OpenOffice

Zanim jednak przejdę do prezentacji wirtualnych drukarek, krótka uwaga dla użytkowników OpenOffice. Oprogramowanie to, poczynając od wersji 1.1, wyposażone jest we wbudowany mechanizm eksportu do pliku PDF. Wystarczy utworzyć dokument i kliknąć odpowiednią ikonę na pasku narzędzi. Jeśli więc używacie tego pakietu, a źródłem dla plików PDF mają być dokumenty Office, to właściwie możecie dalej nie czytać.


Miałem postanowienie, żeby nie przedstawiać na tym blogu oprogramowania w wersjach demonstracyjnych. Zwykle ma ono ograniczone możliwości lub czas działania, a częste instalowanie i odinstalowywanie aplikacji zaśmieca system, co jest szczególnie uciążliwe w przypadku Windows 98 i może w końcu wymusić reinstalację systemu.

Jeden z nielicznych wyjątków robię dla PDF Factory, a to ze względu na zalety programu: jest bardzo „lekki”, prosty w instalacji i obsłudze, działa stabilnie i tworzy naprawdę dobrej jakości pliki PDF. Wersja demonstracyjna ma pełną funkcjonalność, a jej jedyną „wadą” jest dodawanie na każdej stronie tworzonego dokumentu stopki o treści: „PDF stworzony przez wersję demonstracyjną pdfFactory www.pdffactory.pl”. To może nie przeszkadzać w przypadku generowania plików do użytku domowego, ale wysłać komuś taki plik, to już jakoś trochę wstyd. Aby pozbyć się tego niechcianego „dodatku” należy zarejestrować program. Rejestracja PDF Factory nie jest zbyt kosztowna, jednak jeśli chodzi o starsze wersje, może napotykać trudności. Kiedyś, za czasów edycji 1.x, było tak, że kto wykupił kod rejestracyjny, miał prawo do bezpłatnej aktualizacji oprogramowania. W konsekwencji kod zakupiony z nowszą wersją pasował również do starszej. Zmieniło się to wraz z wypuszczeniem wersji 2.0: zasada pozostała, ale tylko w obrębie danej edycji, identyfikowanej przez pierwszą cyfrę. Tak więc, jeśli dzisiaj ktoś zarejestruje PDF Factory w wersji 5.35 (aktualna na dzień pisania tego artykułu), nie użyje otrzymanego kodu do aktywacji wersji 3.25. Pozostaje więc pozyskanie klucza rejestracyjnego „z drugiej ręki” od kogoś, kto zaprzestał korzystania z programu, używanie wersji niezarejestrowanej (ale tylko do domowego użytku), lub poszukanie innego, całkowicie darmowego oprogramowania.

Uwaga:
Podczas instalacji PDF Factory 3.25 pod Windows 98 może wystąpić komunikat błędu sygnalizujący brak biblioteki GDIPLUS.DLL. Biblioteka ta nie jest standardowo instalowana w tej wersji systemu Windows. Można ją pobrać stąd i po rozpakowaniu skopiować do katalogu systemowego (zwykle C:\WINDOWS\SYSTEM). Można też zainstalować PDF Factory 2.54 – wcześniejszą, ale niemal tak samo funkcjonalną wersję, która nie wymaga tej biblioteki.


Znalezienie bezpłatnej alternatywy dla PDF Factory nie okazało się proste. Niby programów tego typu było całkiem sporo, a jednak generowane pliki jakieś „nie takie”: czcionka jaśniejsza, mniej kontrastowa, bardziej „rozmyta”, całość męcząca podczas czytania. Wyłączenie wygładzania czcionek w Adobe Reader zdradza istotę problemu (kliknięcie obrazu spowoduje jego powiększenie):

Z lewej – fragment pliku utworzonego przez PDF factory, z prawej – inny program (w tym przypadku Pdf995 z nieoptymalnymi ustawieniami). Czcionki po prawej mają poszarpane kontury i występują ubytki pikseli. Po wygładzeniu w czytniku prezentują się przyzwoicie, ale ma to swoją cenę. Generalnie, efekt końcowy jest tym lepszy, im lepsza jest wyjściowa jakość czcionki, przed wygładzeniem.

Poniżej prezentuję dwa programy, które pomimo że nie dopisują niczego do wyjściowego pliku, generują PDF-y przyzwoitej jakości.


Pdf995 to pierwszy ze znalezionych przeze mnie darmowych programów do tworzenia plików PDF. Po zainstalowaniu i pierwszych próbach potrafi zniechęcić: nie dość, że jakość wygenerowanego pliku nie jest najlepsza, to jeszcze brakuje „polskich liter”. Nie zniechęcajmy się jednak: program wymaga niewielkich poprawek konfiguracyjnych.

Otwieramy folder drukarek („Start” → „Ustawienia” → „Drukarki”) i klikamy prawym klawiszem myszy ikonę drukarki PDF995. Z menu wybieramy „Właściwości” i klikamy zakładkę „Czcionki”. Wyświetli się formatka jak na ilustracji, zaznaczona jest opcja „Używaj wbudowanych czcionek drukarki zamiast czcionek TrueType”.

Co to są jednak, w tym przypadku, „wbudowane czcionki drukarki”? Są to czcionki dystrybuowane z programem GhostScript, który został wykorzystany jako „silnik” konwertujący z formatu PostScript na PDF. Tylko że te czcionki nie zawierają polskich znaków diakrytycznych. Należy spowodować, by używane były czcionki systemowe, zaznaczając „Wyślij czcionki TrueType do drukarki zgodnie z tabelą podstawień czcionek”.

To jednak nie wszystko, należy kliknąć przycisk „Wyślij czcionki jako...” i na wyświetlonej formatce ustawić próg przełączania pomiędzy ładowaniem czcionek bitmapowych i konturowych na „1” (domyślnie jest „100”).

Teraz możemy wydrukować stronę testową. Jeśli wszystko się udało, powinniśmy otrzymać plik PDF dobrej jakości.

Wszystko byłoby w porządku, gdyby nie jeden szczegół: darmowa wersja Pdf995, choć jej używanie jest całkowicie legalne, za każdym razem otwiera przeglądarkę internetową i wyświetla stronę sponsora, a przynajmniej tak było. Obecnie sponsora już nie ma, ale dalej otwierana jest strona internetowa z informacją, że do konwersji z PostScriptu na PDF wykorzystywany jest GNU GhostScript 7.05 (w najnowszej wersji programu).

Jeśli ta ostatnia „właściwość” za bardzo przeszkadza (a ma przeszkadzać), mamy dwa wyjścia: albo zapłacić (skąd to wiedzieliśmy?), albo wypróbować ostatni program z mojej listy.


Ukazanie się PrimoPDF okazało się, przynajmniej dla mnie, na długie lata końcem poszukiwań programu do tworzenia plików PDF. Jest nie tylko darmowy, również do użytku w firmie, ale tworzy bardzo przyzwoitej jakości pliki. Pierwszej wersji daleko wprawdzie do funkcjonalności PDF Factory, brakuje na przykład możliwości skumulowania kilku wydruków w jednym pliku, ale dla mnie wystarcza.

Wersja działająca pod Windows 98 wykorzystuje, podobnie jak Pdf995, program GhostScript w charakterze „silnika” konwertującego, zatem w celu uzyskania zadowalającej jakości wynikowych plików wymaga analogicznej konfiguracji jak poprzednik.

Użytkownicy Windows 2000 mogą zainstalować nieco bardziej rozbudowaną i dopracowaną wersję PrimoPDF 2.0.

* To stwierdzenie jest nie do końca prawdziwe. Jeśli Acrobat Reader nie jest zainstalowany, konwersja podczas kopiowania nie jest dostępna. Jest to zatem funkcjonalność dodawana przez firmę Adobe i przypisywanie całej zasługi Microsoftowi nie jest tutaj słuszne, chociaż niewątpliwie współpraca musiała być.