Projektujesz formularz PDF do przyjmowania klientów. Jeśli klient wybierze opcję „Indywidualna” jako typ konta, formularz powinien zawierać pola na imię i nazwisko oraz numer PESEL. Jeśli wybiorą opcję „Biznes”, zamiast tego formularz powinien zawierać pola na nazwę firmy i numer identyfikacyjny pracodawcy. W formie papierowej należy wydrukować obie sekcje i wpisać „Jeśli dotyczy”. obok każdego. W cyfrowym pliku PDF logika warunkowa może całkowicie ukryć nieistotną sekcję, pokazując użytkownikowi tylko te pola, które faktycznie musi wypełnić.
Logika warunkowa w formularzach PDF jest rzeczywista i funkcjonalna, ale wiąże się z ważnymi zastrzeżeniami. W przeciwieństwie do formularzy internetowych, gdzie JavaScript i CSS zapewniają elastyczną kontrolę nad widocznością i układem, logika warunkowa PDF jest ograniczona przez ograniczoną implementację JavaScript w formacie PDF i niespójny sposób, w jaki różne przeglądarki PDF wykonują skrypty. Zrozumienie, co jest możliwe, a co nie, uniemożliwia zaprojektowanie formularza, który działa w Twoim środowisku testowym, ale psuje się u połowy odbiorców.

Co właściwie potrafi logika warunkowa w formularzu PDF
Logika warunkowa PDF działa w programie Acrobat JavaScript, uproszczonej wersji JavaScript, która stanowi część specyfikacji PDF od początku XXI wieku. Może pokazywać lub ukrywać pola formularza na podstawie danych wprowadzonych przez użytkownika. Może włączać lub wyłączać pola, zmieniać ich kolor lub obramowanie, oznaczać je jako wymagane lub opcjonalne oraz wypełniać ich wartości z tabel przeglądowych. Może sprawdzać poprawność danych wprowadzanych przez użytkownika, wyświetlać komunikaty ostrzegawcze i uruchamiać obliczenia, gdy zostaną spełnione określone warunki.
Jedyne, czego nie może zrobić, to zrestrukturyzować układ strony. Ukrycie pola usuwa je z widoku, ale zajmowane przez nie miejsce pozostaje. Poniższe pola nie przesuwają się w górę, aby wypełnić lukę. Strona nie wyświetla się ponownie. Jest to największa pojedyncza różnica między Formularze PDF a formularzem internetowym i jest źródłem większości rozczarowań, gdy ktoś próbuje odtworzyć formularz internetowy w pliku PDF. Jeśli logika warunkowa wymaga radykalnej zmiany układu strony, plik PDF jest niewłaściwym narzędziem. Jeśli trzeba pokazać lub ukryć kilka pól w ustalonym układzie, logika warunkowa PDF dobrze sobie z tym radzi.
Wypróbuj opcję Edytuj plik PDF
Nie wymaga instalacji. Działa bezpośrednio w Twojej przeglądarce.
Jak skonfigurować regułę pokaż-ukryj na podstawie listy rozwijanej lub zaznaczenia pola wyboru
Najpopularniejszym wzorcem warunkowym jest lista rozwijana lub zestaw przycisków opcji kontrolujących, które kolejne pola są widoczne. W edytorze formularzy WukongPDF zacznij od utworzenia pola sterującego, listy rozwijanej lub grupy przycisków opcji, której wartość określa, co stanie się dalej. Nadaj mu jasną nazwę, na przykład „accountType”. Następnie utwórz wszystkie pola, które mogą być pokazane lub ukryte. Każde możliwe pole musi istnieć w formularzu od początku. Logika warunkowa kontroluje tylko widoczność. Nie tworzy ani nie niszczy pól.
Po utworzeniu pól otwórz właściwości pola sterującego i znajdź zakładkę zdarzenia Sprawdź lub Przy rozmyciu. W tym miejscu piszesz kod JavaScript odpowiadający na wybór użytkownika. Prosty skrypt pokaż-ukryj wygląda następująco: var choice = event.target.value; this.getField("ssnField").display = (wybór === "Indywidualny")? display.visible : display.hidden; this.getField("einField").display = (wybór === "Biznes")? display.visible : display.hidden; Gdy użytkownik zmieni listę rozwijaną, skrypt zostanie uruchomiony, sprawdzi wybraną wartość i ustawi właściwość wyświetlania każdego pola na widoczną lub ukrytą.
Ważny szczegół: ustaw początkowy stan wszystkich pól warunkowych na wartość domyślną pola sterującego. Jeśli menu rozwijane ma domyślnie opcję „Osobiste”, pole SSN powinno zacząć być widoczne, a pole EIN powinno zacząć być ukryte. Jeśli pola zaczynają się w złym stanie, użytkownik widzi oba lub żadne z nich, dopóki nie wejdzie w interakcję z listą rozwijaną po raz pierwszy, co wygląda na uszkodzone. Stan początkowy i logika skryptu muszą być zgodne.
Reguły walidacji sprawdzające wprowadzone dane przed przejściem użytkownika
Logika warunkowa wykracza poza widoczność i sprawdzanie poprawności danych wejściowych. Pole daty pozwala sprawdzić, czy wprowadzona data mieści się w akceptowalnym zakresie. Pole e-mail może sprawdzić, czy dane wejściowe zawierają znak @ i domenę. Pole numeru telefonu może wymagać dokładnie dziesięciu cyfr. Skrypty walidacyjne są uruchamiane w zdarzeniu Validate pola, które jest uruchamiane, gdy użytkownik próbuje opuścić pole. Jeśli skrypt wywoła event.rc = false, fokus pozostanie na polu i użytkownik nie będzie mógł kontynuować, dopóki wprowadzone dane nie zostaną poprawione.
Praktyczna walidacja telefonu wygląda następująco: var telefon = event.value.replace(/\s|-|\(|\)/g, ''); if (phone !== "" && !/^\d{10}$/.test(phone)) { app.alert("Wprowadź 10-cyfrowy numer telefonu."); wydarzenie.rc = fałsz; } Ten skrypt usuwa spacje, myślniki i nawiasy, a następnie sprawdza, czy pozostałe znaki to dokładnie dziesięć cyfr. Jeśli pole jest puste, weryfikacja przebiega pomyślnie, ponieważ nie każde pole telefonu jest wymagane. Jeśli pole zawiera treść, ale nie zawiera dziesięciu cyfr, skrypt wyświetla komunikat ostrzegawczy i blokuje użytkownikowi możliwość opuszczenia pola.
Reguł walidacji należy używać oszczędnie i z wyraźnymi komunikatami o błędach. Formularz blokujący użytkownika na każdym polu za pomocą tajemniczych alertów powoduje frustrację. Formularz, który sprawdza tylko te pola, w których nieprawidłowe wprowadzenie spowodowałoby realne problemy, i wyjaśnia, co użytkownik musi poprawić, dodaje pewności. Tekst alertu powinien dokładnie określać, co jest nie tak i jak to naprawić. „Nieprawidłowe dane wejściowe” jest bezużyteczny. „Numer telefonu musi składać się z 10 cyfr bez spacji i myślników” mówi użytkownikowi, co ma robić.
Problem ze zgodnością przeglądarek i sposoby jego obejścia
PDF JavaScript jest obsługiwany w programach Adobe Acrobat Reader, Acrobat Pro i większości komputerowych aplikacji PDF. Nie jest obsługiwana w większości przeglądarek PDF opartych na przeglądarce, w tym we wbudowanej przeglądarce Chrome, PDF.js w Firefoksie i podglądzie Safari. Jest częściowo obsługiwany w niektórych mobilnych aplikacjach PDF, a w innych całkowicie nieobecny. Jeśli Twój formularz opiera się na logice warunkowej i skryptach walidacyjnych, a odbiorca otworzy go w przeglądarce, która nie obsługuje JavaScript, zobaczy wszystkie pola, łącznie z tymi, które mają być ukryte, i żadna z reguł walidacji nie zostanie uruchomiona.
Nie ma na to idealnego rozwiązania technicznego. Najlepszym podejściem jest połączenie jasnego oznakowania i widocznych instrukcji na górze formularza. Oznacz sekcje warunkowe ich warunkiem wyzwalającym: „Jeśli powyżej wybrałeś opcję Firma, wypełnij tę sekcję”. W ten sposób, nawet jeśli skrypt się nie powiedzie, użytkownik może ręcznie wypełnić formularz. Doświadczenie Interaktywny PDF z wdziękiem degraduje się do użytecznej formy statycznej, zamiast stać się niezrozumiałe.
Testowanie formularzy warunkowych na wielu przeglądarkach
Przed rozpowszechnieniem warunkowego formularza PDF przetestuj go w co najmniej czterech środowiskach: Adobe Acrobat Reader na komputerze, wbudowana przeglądarka plików PDF w przeglądarce Chrome, przeglądarka Safari lub Preview PDF na komputerze Mac oraz mobilna przeglądarka plików PDF na telefonie iPhone i systemie Android. W każdym środowisku systematycznie pracuj nad formularzem. Zmień opcje rozwijane i sprawdź, czy pojawiają się i znikają prawidłowe pola. Wprowadź nieprawidłowe dane i potwierdź, że pojawiają się komunikaty weryfikacyjne i uniemożliwij przesłanie. Zapisz formularz i otwórz go ponownie, aby sprawdzić, czy zapisany stan jest spójny.
W przypadku formularzy kierowanych do znanych odbiorców, takich jak formularze wewnętrzne firmy lub formularze przesyłane za pośrednictwem określonego portalu, testuj tylko te przeglądarki, z których rzeczywiście korzystają Twoi odbiorcy. Jeśli wszyscy w Twojej organizacji korzystają z programu Adobe Acrobat, zgodność przeglądarki nie ma znaczenia. Jeśli Twój formularz zostanie opublikowany na publicznej stronie internetowej i otwarty przez kogokolwiek na dowolnym urządzeniu, załóż, że znaczny procent użytkowników zobaczy formularz bez JavaScript. Zaprojektuj formularz tak, aby działał akceptowalnie w tym zdegradowanym stanie, ze wszystkimi polami widocznymi i wszystkimi instrukcjami jasnymi, i niech logika warunkowa będzie raczej udoskonaleniem niż wymogiem.
Kiedy logika warunkowa należy zamiast tego do formularza internetowego
Jeśli Twój formularz wymaga wieloetapowych kreatorów, dynamicznego tworzenia pól, sprawdzania poprawności serwera w czasie rzeczywistym lub ponownego przepływu strony w przypadku pojawiania się i znikania pól, właściwym narzędziem będzie formularz internetowy, a nie plik PDF. Formularze PDF to dokumenty statyczne z interaktywnymi ulepszeniami. Formularze internetowe to interaktywne aplikacje, których dane wyjściowe przypominają dokument. To rozróżnienie ma znaczenie, ponieważ zbudowanie złożonego formularza warunkowego w formacie PDF i odkrycie, że połowa odbiorców nie może go używać zgodnie z przeznaczeniem, jest frustrującym i czasochłonnym błędem.
Praktycznym podejściem hybrydowym jest użycie formularza internetowego do gromadzenia danych i logiki warunkowej oraz wygenerowanie pliku PDF na podstawie przesłanych danych w celu podpisania, archiwizacji i udostępnienia. WukongPDF Edytor PDF sprawdza się dobrze w tym przepływie pracy: zbiera dane za pośrednictwem formularza internetowego, wypełnia szablon PDF odpowiedziami i dostarcza użytkownikowi dopracowany plik PDF do jego dokumentacji. Formularz internetowy obsługuje logikę. Plik PDF obsługuje prezentację. Każde narzędzie robi to, co potrafi najlepiej.
Wypróbuj opcję Edytuj plik PDF
Nie wymaga instalacji. Działa bezpośrednio w Twojej przeglądarce.
