Twój pierwszy formularz PDF w Scribusie

Inne języki: English (en)

OSTRZEŻENIE: Scribus nie obsługuje prawidłowo formularzy PDF w ostatnich dwóch stabilnych wydaniach 1.3.3.8 and 1.3.3.9 ze względu na dwa nierozwiązane dotąd błędy, zobacz  również zgłoszenia błędów nr 5444 i 5408.

=Wstęp=

Jedną z największych zalet Scribusa jest możliwość tworzenia formularzy PDF zawierających skrypty w języku JavaScript. Zwykle formularze takie przeznaczone są do wypełnienia na komputerze, a następnie wydruku. Informacje podane w polach tekstowych formularza PDF mogą być także wysłane na inny adres w celu dalszego przetwarzania.

Aby uczynić ze Scribusa w pełni profesjonalne narzędzie do tworzenia formularzy PDF, zespół tworzący ten program powinien wdrożyć jeszcze parę ważnych szczegółów. Chodzi m.in. o możliwość tworzenia przycisków wyboru (zobacz listę błędów i propozycji zmian związanych z formularzami PDF).

Niemniej Scribus już teraz jest wartościowym narzędziem do tworzenia formularzy PDF a z dnia na dzień staje się coraz lepszy.

=Wymagania=


 * Scribus -- im nowszy, tym lepszy. W celu pobrania aktualnej wersji zajrzyj na stronę domową Scribusa
 * Adobe Reader 7 lub nowszy -- dopiero wersja 7 nie ma problemów z polskimi znakami w polach formularzy
 * Przeglądarka wspierająca wtyczkę Adobe Readera, najlepiej Firefox.

=Tworzenie formularzy PDF=

Tworzenie formularzy w Scribusie jest raczej mało skomplikowane. Zaczniemy od kliknięcia na ikonę Nowy Dokument lub wybrania opcji Nowy z menu Plik.



Najpierw włączymy siatkę (menu Widok>Wyświetlaj siatkę), która pomoże nam w pozycjonowaniu pól formularza na stronei. Będziemy potrzebowali paru ramek tekstowych na tyłuł i opisy pól -- jest to raptem parę kliknięć na ikonę ramki tekstowej (tę w prawo od ikony ze strzałką).



Po wpisaniu tekstu do ramek tekstowych zmieniamy ich właściwości za pomocą palety Właściwości, dostępnej w menu Narzędzia.



Teraz możemy zacząć dodawać elementy formularza: parę pól tekstowych i przycisk, za pomocą którego będzie można wysłać zawartość formularza na zdefiniowany w nim adres URL. Aby dodać element formularza, klikamy na strzałkę po prawej stronie ikony OK wybieramy jedną z dostępnych opcji: przycisk, pole tekstowe, pole wyboru, listę rozwijaną lub listę.



Aktualnie aktywny element formularza ma czerwone obramowanie -- elementy wybiera się klikając na ikonę Wybierz element (tę ze strzałką, w lewo od ikony ramki tekstowej) i klikając na dany element.



Prawy klik na elemencie formularza włącza menu kontekstowe. Wybieramy Opcje PDF > Właściwości pola i definiujemy nazwy pól (będziemy potrzebowali nazw pól w skrypcie PHP, do którego wyślemy formularz), typy (np., numer, czas, data) oraz akcje, które mają być wykonane w odpowiedzi na określone zdarzenia (Mouse Enter, Mouse Exit, On Blur itd.).



Tutaj definiujemy pole Nr jako liczbę. Adobe Reader nie pozwoli na wpisanie w tym polu innego niczego poza wartością numeryczną.



Aby zmienić kolejność pól (przyda się przy używaniu tabulatora do przeskakiwania z jednego pola do drugiego), otwieramy paletę Właściwości, klikamy na zakładkę X,Y,Z i zmieniamy numer poziomu wybranych pól.



Tutaj tworzymy własny skrypt sprawdzający zawartość pola Nazwisko - po zmianie zawartości pola włączy się brzęczyk i wyświetli się ostrzeżenie (niezbyt to skomplikowane, ale wystarczy do zademonstrowania możliwości PDF). Scribus posiada własny, prosty edytor tekstowy, który umożliwia nam zapisanie skryptu w oddzielnym pliku. Skrypty można definiować nie tylko na poziomie pól, ale również na poziomie dokumentu (menu Edycja > Skrypty w JavaScript).



Po zapisaniu skryptu i zamknięciu edytora, zawartość skryptu wyświetla się we Właściwościach pola.



Musimy jeszcze zdefiniować adres URL, na który wyślemy zawartość formularza (pod adresem tym czeka prosty skrypt PHP, który sformatuje i wyświetli zawrtość formularza). We właściwościach przycisku definujemy jako typ akcji Wyślij formularz i wpisujemy jako adres nazwę naszego skryptu PHP:  http://twoj.serwer/scribus_test.php . Zaznaczamy jeszcze opcję Wyślij dane jako HTML (inna możliwość to wysłanie danych w formacie FDF, ale to już zupełnie inna historia) i nasz formularz jest gotowy.



Ostatnią rzeczą do zrobienia jest wyeksportowanie dokumentu do formatu PDF: menu Plik > Eksportuj... > Zapisz jako PDF.... Jako format pliku wybieramy Acrobat 5.0 i zapisujemy plik.



Teraz nadszedł czas, aby wystartować Adobe Readera zobaczyć, co stworzyliśmy. Adobe Reader 7 nareszcie wyświetla prawidłowo znaki Unicode w polach formularzy -- to doskonała wiadomość dla wszystkich autorów formularzy, którym nie wystarczy zachodnioeuropejski zestaw znaków. Pola Nazwa i Ulica zawierają znaki spoza kodowoania Latin-1. Pola Nr  i Komentarz zawierają domyślne wartości, wstawione tam w trakcie tworzenia formularza -- wystarczy w Scribusie kliknąć prawym przyciskiem myszy na polu formularza, wybrać Edytuj tekst... z menu kontekstowego i wpisać domyślną wartość.



=Konfiguracja przeglądarek w celu wyświetlania formularzy PDF=

Jeśli jesteś szczęśliwym posiadaczem w miarę aktualnej wersji Firefoksa, Mozilli lub Netscape'a, masz już jeden kłopot z głowy. Ponieważ ani Opera, ani Konqueror nie były w stanie poradzić sobie z wysyłaniem formularzy PDF, skoncentrujemy się na przeglądarkach z rodziny Mozilli. Jedyną rzeczą, jaką musisz zrobić, to powiedzieć Firefoksowi, gdzie ma szukać wtyczki Adobe Readera 7. Dla posiadaczy Linuksa:

1. Utwórz symboliczne dowiązanie do $twój_katalog_instacyjny/Acrobat7.0/Browser/intellinux/nppdf.so w katalogu z wtyczkami Mozilli, np. dla Gentoo Linuksa będzie to /usr/lib/MozillaFirefox/plugins 2. Upewnij się, że acroread zainstalowany jest w jednym z katologów podanych w PATH.

Jeśli używasz Firefoksa w innym systemie operacyjnym, zajrzyj na stronę Mozilli dotyczącą instalacji wtyczek: Mozilla Plugindoc site.

=Testowanie i pobieranie przykładowych plików=


 * Przykładowy formularz PDF (utworzony w Scribusie) -- Otwórz ten formularz w twojej przeglądarce internetowej i kliknij na przycisk Submit. Jeśli przeglądarka prawidłowo obsługuje wtyczkę Adobe Reader, powinieneś otrzymać odpowiedź od skryptu PHP.


 * Pobierz przykładowe pliki -- Archiwum tar zawierające przykładowe pliki (SLA, PHP, PDF), użyte w tym samouczku.

=Podsumowanie=

Scribus jest komfortowym narzędziem do tworzenia formularzy PDF, zarówno ze względu na łatwość tworzenia i pozycjonowania elementów formularzy, jak i jakość   efektu finalnego. Dodatkowo w pełni otwarty, oparty na XML format pliku Scribusa (.sla) pozwala zarówno na łatwe wprowadzanie zmian w zwykłym edytorze tekstowym, jak i automatyczne generowanie plików formularzy w innych programach.

=Inne źródła informacji=


 * Small-business forms using Scribus and PDF - artykuł na stronach NewsForge o tworzeniu interaktywnych formularzy za pomocą Scribusa


 * JavaScript - Introduction to Development with Examples - wprowadzenie do języka JavaScript na przykładach