Twój pierwszy formularz PDF w Scribusie: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
Line 42: Line 42:




The current active element of the form has a red frame border; you can select an element in choosing the '''Select''' icon (the one with an arrow, left to the text frame icon) and clicking on the item to be chosen.
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.




Line 48: Line 48:




The right click on an element activates a new context menu. We choose  '''Pdf Options > Field Properties''' and define field names (we will need the field names in our PHP script, to which we'll send the form), types (e.g., number, time, date), and actions to be performed on different events (Mouse Enter, Mouse Exit, On Blur, and so on).
Prawy klik na elementcie 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.).





Revision as of 08:21, 29 April 2005

Template:Jak to zrobić

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 produkcji do produkcji 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 (radio buttons, RFE 866) i wykonywanie globalnych skryptów w JavaScript n.p. podczas ładowania się formularza.

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

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.


New document dialog in Scribus 1.2.2


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ą).


Grid menu.png


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.


Properties.png


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ę.


Form elements1.png


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.


Ulica.png


Prawy klik na elementcie 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.).


Field properties appearance1.png


Here we are defining the No field as a number. Acrobat Reader won't accept anything else as a valid entry, then.


Field properties format1.png


To change the existing tab order of your form fields, simply open the Properties palette, click on the X,Y,Z tab, and change the level of the selected field.


Field tab order.png


Here, we are defining a custom validation script for the Name field - after changing the field contents there will be a beep sound and an alert will be showed (not very sophisticated, I know, but it still demonstrates the possibilities of PDF). Scribus has its own simple text editor, which enables us to save the script to a separate file. Custom scripts can be defined not only on the form field level, but document wide too (Edit > JavaScripts).


Js validate script.png


After saving the script and closing the editor, the script contents is shown in the Field Properties.


Field properties validate.png


We have still to define, to which URL the form contents will be sent (there is a simple PHP script at the destination address, which will format and display the received form data). We choose in the button properties as the action type Submit form and enter the address of our PHP script: scribus_test.php. We match the Submit Data as HTML option to end with (the other option would be the FDF data, but this is a very different story) and we are done now.


Field action.png


The only thing else to do is to export the document to PDF: menu File > Export... > Export to PDF.... We select Acrobat 5.0 as the file format and save the file.


Pdf export.png


Now it is time to launch Acrobat Reader and and see what you have done. Acrobat Reader 7 finally delivers the capability to display Unicode characters inside form fields -- great news for all non English native speakers. Both Name and Street fields contain characters outside of the Latin-1 font set. The No field contains a default value of 15 that has been put into it eaerlier -- in Scribus, just right click onto the form field, choose Edit text... from the context menu and type your default value.


Acroread unicode.png

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ądakach 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.

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