PDF - PDF

format dokumentu przenośnego
Adobe-PDF-Ikona
Ikona Adobe PDF
Adobe PDF.svg
Rozszerzenie nazwy pliku .pdf
Rodzaj mediów internetowych
Kod typu PDF (w tym pojedyncza spacja)
Jednolity identyfikator typu (UTI) com.adobe.pdf
magiczny numer %PDF
Opracowany przez Adobe Inc. (1991–2008)
ISO (2008–)
Pierwsze wydanie 15 czerwca 1993 ; 28 lat temu ( 1993-06-15 )
Najnowsze wydanie
2,0
Rozszerzony do PDF/A , PDF/E , PDF/UA , PDF/VT , PDF/X
Standard ISO 32000-2
Otwarty format ? tak
Strona internetowa www .iso .org /standard /75839 .html

Portable Document Format ( PDF ), ustandaryzowany jako ISO 32000 , to format plików opracowany przez firmę Adobe w 1992 roku do prezentacji dokumentów , w tym formatowania tekstu i obrazów, w sposób niezależny od oprogramowania , sprzętu i systemów operacyjnych . W oparciu o język PostScript , każdy plik PDF zawiera pełny opis płaskiego dokumentu o stałym układzie, w tym tekst, czcionki , grafikę wektorową , obrazy rastrowe i inne informacje potrzebne do jego wyświetlenia. PDF ma swoje korzenie w "Projekcie Camelot" zainicjowanym przez współzałożyciela Adobe Johna Warnocka w 1991 roku.

PDF został znormalizowany jako ISO 32000 w 2008 roku. Ostatnie wydanie jako ISO 32000-2:2020 zostało opublikowane w grudniu 2020 roku.

Pliki PDF mogą zawierać różne treści poza płaskim tekstem i grafiką, w tym logiczne elementy strukturyzujące, elementy interaktywne, takie jak adnotacje i pola formularzy, warstwy, multimedia (w tym treści wideo), obiekty trójwymiarowe wykorzystujące U3D lub PRC i różne inne formaty danych. Specyfikacja PDF zapewnia również szyfrowanie i podpisy cyfrowe , załączniki plików i metadane, aby umożliwić przepływy pracy wymagające tych funkcji.

Historia

Firma Adobe Systems udostępniła specyfikację PDF bezpłatnie w 1993 roku. We wczesnych latach PDF był popularny głównie w obiegach pracy DTP i konkurował z różnymi formatami, takimi jak DjVu , Envoy , Common Ground Digital Paper, Farallon Replica, a nawet własne Adobe. Format PostScript .

PDF był zastrzeżonym formatem kontrolowanym przez firmę Adobe, dopóki nie został wydany jako otwarty standard 1 lipca 2008 r. i opublikowany przez Międzynarodową Organizację Normalizacyjną jako ISO 32000-1:2008, kiedy to kontrola nad specyfikacją została przekazana Komitetowi ISO ekspertów branży wolontariuszy. W 2008 r. firma Adobe opublikowała Publiczną Licencję Patentową na zgodność z normą ISO 32000-1, przyznającą wolne od opłat prawa do wszystkich patentów należących do firmy Adobe, które są niezbędne do tworzenia, używania, sprzedaży i dystrybucji wdrożeń zgodnych z PDF.

PDF 1.7, szósta edycja specyfikacji PDF, która stała się ISO 32000-1, zawiera niektóre zastrzeżone technologie zdefiniowane tylko przez firmę Adobe, takie jak architektura Adobe XML Forms Architecture (XFA) i rozszerzenie JavaScript dla programu Acrobat, które są określone w normie ISO 32000-1 jako normatywne i niezbędne do pełnego wdrożenia specyfikacji ISO 32000-1. Te zastrzeżone technologie nie są ustandaryzowane, a ich specyfikacja jest publikowana wyłącznie na stronie internetowej Adobe. Wiele z nich nie jest również obsługiwanych przez popularne implementacje plików PDF innych firm.

W grudniu 2020 r. opublikowano drugie wydanie PDF 2.0, ISO 32000-2:2020, zawierające wyjaśnienia, poprawki i krytyczne aktualizacje odniesień normatywnych. ISO 32000-2 nie obejmuje żadnych technologii zastrzeżonych jako odniesień normatywnych.

Szczegóły techniczne

Plik PDF jest często kombinacją grafiki wektorowej , tekstu i grafiki bitmapowej . Podstawowe typy treści w pliku PDF to:

  • Tekst przechowywany jako strumienie treści (tj. niezakodowany w postaci zwykłego tekstu );
  • Grafika wektorowa do ilustracji i projektów składających się z kształtów i linii;
  • Grafika rastrowa do zdjęć i innych rodzajów obrazów
  • Obiekty multimedialne w dokumencie.

W późniejszych wersjach PDF dokument PDF może również obsługiwać łącza (wewnątrz dokumentu lub strony internetowej), formularze, JavaScript (początkowo dostępny jako wtyczka do programu Acrobat 3.0) lub wszelkie inne typy treści osadzonych, które można obsługiwać za pomocą wtyczek.

PDF łączy w sobie trzy technologie:

  • Podzbiór języka programowania opisu strony PostScript , służący do generowania układu i grafiki.
  • System osadzania /wymiany czcionek umożliwiający podróżowanie czcionek z dokumentami.
  • Ustrukturyzowany system pamięci masowej, który łączy te elementy i wszelką związaną z nimi zawartość w jeden plik, z kompresją danych w razie potrzeby.

Język PostScript

PostScript to język opisu strony uruchamiany w interpreterze w celu wygenerowania obrazu, proces wymagający wielu zasobów. Może obsługiwać grafikę i standardowe funkcje języków programowania, takie jak ifinstrukcje i looppolecenia. PDF jest w dużej mierze oparty na PostScript, ale uproszczony, aby usunąć takie funkcje kontroli przepływu, podczas gdy polecenia graficzne, takie jak linetopozostają.

Często kod PDF podobny do PostScriptu jest generowany ze źródłowego pliku PostScript. Polecenia graficzne, które są wyprowadzane przez kod PostScript, są zbierane i tokenizowane . Zbierane są również wszelkie pliki, grafiki lub czcionki, do których odnosi się dokument. Następnie wszystko jest kompresowane do jednego pliku. Dlatego cały świat PostScriptu (czcionki, układ, pomiary) pozostaje nienaruszony.

Jako format dokumentu PDF ma kilka zalet w porównaniu z PostScript:

  • PDF zawiera tokenizowane i zinterpretowane wyniki kodu źródłowego PostScript, umożliwiające bezpośrednią korespondencję między zmianami elementów w opisie strony PDF a zmianami w wyglądzie strony wynikowej.
  • PDF (od wersji 1.4) obsługuje przezroczystą grafikę ; PostScript nie.
  • PostScript to interpretowany język programowania z niejawnym stanem globalnym, więc instrukcje towarzyszące opisowi jednej strony mogą wpływać na wygląd każdej kolejnej strony. Dlatego wszystkie poprzedzające strony w dokumencie PostScript muszą zostać przetworzone w celu określenia prawidłowego wyglądu danej strony, podczas gdy na każdą stronę w dokumencie PDF nie mają wpływu pozostałe strony. W rezultacie przeglądarki PDF pozwalają użytkownikowi szybko przeskoczyć do końcowych stron długiego dokumentu, podczas gdy przeglądarka PostScript musi sekwencyjnie przetwarzać wszystkie strony, zanim będzie mogła wyświetlić stronę docelową (chyba że opcjonalne konwencje strukturyzacji dokumentów PostScript zostały starannie skompilowane i dołączone).

PDF 1.6 obsługuje interaktywne dokumenty 3D osadzone w pliku PDF: rysunki 3D można osadzać za pomocą U3D lub PRC i różnych innych formatów danych.

Format pliku

Plik PDF zawiera 7-bitowe znaki ASCII , z wyjątkiem niektórych elementów, które mogą zawierać zawartość binarną. Plik zaczyna się od nagłówka zawierającego magiczną liczbę (jako czytelny ciąg) i wersję formatu, na przykład %PDF-1.7. Format jest podzbiorem formatu COS (struktura obiektu „karuzela”). Plik drzewa COS składa się głównie z obiektów , których jest dziewięć typów:

  • Wartości logiczne , reprezentujące prawdę lub fałsz
  • Liczby rzeczywiste
  • Liczby całkowite
  • Strings , ujęte w nawiasy ( (...)). Ciągi znaków mogą zawierać 8-bitowe znaki.
  • Nazwy, zaczynające się od ukośnika ( /)
  • Tablice , uporządkowane kolekcje obiektów ujęte w nawiasy kwadratowe ( [...])
  • Słowniki , kolekcje obiektów indeksowanych według nazw ujętych w podwójne nawiasy ostre ( <<...>>)
  • Strumienie , zwykle zawierające duże ilości opcjonalnie skompresowanych danych binarnych, poprzedzone słownikiem i zawarte między słowami kluczowymi streami endstream.
  • Zerowy obiektu

Ponadto mogą pojawić się komentarze, poprzedzone znakiem procentu ( %). Komentarze mogą zawierać znaki 8-bitowe.

Obiekty mogą być bezpośrednie (osadzone w innym obiekcie) lub pośrednie . Obiekty pośrednie są numerowane za pomocą numeru obiektu i numeru generacji oraz definiowane między słowami kluczowymi obji , endobjjeśli znajdują się w katalogu głównym dokumentu. Począwszy od wersji 1.5 PDF, obiekty pośrednie (oprócz innych strumieni) mogą również znajdować się w specjalnych strumieniach zwanych strumieniami obiektów (oznaczone /Type /ObjStm). Ta technika umożliwia stosowanie do obiektów innych niż strumieniowe standardowych filtrów strumienia, zmniejsza rozmiar plików zawierających dużą liczbę małych obiektów pośrednich i jest szczególnie przydatna w przypadku oznakowanych plików PDF . Strumienie obiektów nie obsługują określania numeru generacji obiektu (innego niż 0).

Tablica indeksów, zwana także tablicą odsyłaczy, znajduje się w pobliżu końca pliku i podaje przesunięcie bajtowe każdego obiektu pośredniego od początku pliku. Taka konstrukcja pozwala na wydajny losowy dostęp do obiektów w pliku, a także umożliwia wprowadzanie niewielkich zmian bez przepisywania całego pliku ( aktualizacja przyrostowa ). Przed wersją 1.5 PDF, tabela zawsze była w specjalnym formacie ASCII, była oznaczona xrefsłowem kluczowym i podążała za główną treścią złożoną z obiektów pośrednich. Wersja 1.5 wprowadziła opcjonalne strumienie odsyłaczy , które mają postać standardowego obiektu strumienia, ewentualnie z zastosowanymi filtrami. Taki strumień może być użyty zamiast tablicy odniesień ASCII i zawiera przesunięcia i inne informacje w formacie binarnym. Format jest elastyczny, ponieważ pozwala na określenie szerokości całkowitej (przy użyciu /Wtablicy), tak że na przykład dokument o rozmiarze nieprzekraczającym 64  KiB może poświęcić tylko 2 bajty na przesunięcia obiektów.

Na końcu pliku PDF znajduje się stopka zawierająca:

  • Słowo startxrefkluczowe, po którym następuje przesunięcie do początku tabeli odsyłaczy (zaczynając się od xrefsłowa kluczowego) lub obiekt strumienia odsyłaczy, po którym następuje
  • Znacznik %%EOF końca pliku .

Jeśli strumień odsyłaczy nie jest używany, stopkę poprzedza trailersłowo kluczowe, po którym następuje słownik zawierający informacje, które w innym przypadku byłyby zawarte w słowniku obiektu strumienia odsyłaczy:

  • Odwołanie do obiektu głównego struktury drzewa, znanego również jako katalog ( /Root)
  • Liczba obiektów pośrednich w tabeli odsyłaczy ( /Size)
  • Inne opcjonalne informacje

Istnieją dwa układy plików PDF: nielinearyzowany (nie „zoptymalizowany”) i linearyzowany („zoptymalizowany”). Nielinearyzowane pliki PDF mogą być mniejsze niż ich liniowe odpowiedniki, ale dostęp do nich jest wolniejszy, ponieważ części danych wymaganych do złożenia stron dokumentu są rozrzucone po całym pliku PDF. Zlinearyzowane pliki PDF (zwane również „zoptymalizowanymi” lub „zoptymalizowanymi pod kątem sieci Web” plikami PDF) są konstruowane w sposób, który umożliwia ich odczytanie we wtyczce przeglądarki internetowej bez czekania na pobranie całego pliku, ponieważ wszystkie obiekty wymagane na pierwszej stronie do wyświetlenia są optymalnie zorganizowane na początku pliku. Pliki PDF można optymalizować za pomocą oprogramowania Adobe Acrobat lub QPDF .

Model obrazowania

Podstawowy projekt sposobu przedstawiania grafiki w PDF jest bardzo podobny do PostScript , z wyjątkiem wykorzystania przezroczystości , który został dodany w PDF 1.4.

Grafika PDF wykorzystuje niezależny od urządzenia układ współrzędnych kartezjańskich do opisu powierzchni strony. Opis strony w formacie PDF może wykorzystywać macierz do skalowania , obracania lub pochylania elementów graficznych. Kluczową koncepcją w PDF jest stan grafiki , który jest zbiorem parametrów graficznych, które można zmieniać, zapisywać i przywracać za pomocą opisu strony . PDF ma (od wersji 2.0) 25 właściwości stanu graficznego, z których niektóre z najważniejszych to:

Grafika wektorowa

Podobnie jak w PostScript , grafiki wektorowe w PDF są konstruowane ze ścieżkami . Ścieżki zazwyczaj składają się z linii i sześciennych krzywych Béziera , ale można je również tworzyć z konturów tekstu. W przeciwieństwie do PostScript, PDF nie pozwala jednej ścieżce na mieszanie konturów tekstu z liniami i krzywymi. Ścieżki można obrysowywać, wypełniać, wypełniać, a następnie obrysowywać lub używać do przycinania . Obrysy i wypełnienia mogą wykorzystywać dowolny zestaw kolorów w stanie graficznym, w tym desenie . PDF obsługuje kilka rodzajów wzorów. Najprostszy to wzór kafelkowy, w którym kawałek grafiki jest określony do wielokrotnego rysowania. Może to być kolorowy wzór kafelkowy z kolorami określonymi w obiekcie wzoru lub bezbarwny wzór kafelkowy , który odracza specyfikację koloru do momentu narysowania wzoru. Począwszy od PDF 1.3 istnieje również wzór cieniowania , który rysuje ciągle zmieniające się kolory. Istnieje siedem rodzajów wzorów cieniowania, z których najprostsze to cieniowanie osiowe (Typ 2) i promieniowe (Typ 3).

Obrazy rastrowe

Obrazy rastrowe w formacie PDF (nazywane Image XObjects ) są reprezentowane przez słowniki z powiązanym strumieniem. Słownik opisuje właściwości obrazu, a strumień zawiera dane obrazu. (Rzadziej małe obrazy rastrowe mogą być osadzane bezpośrednio w opisie strony jako obrazy w tekście .) Obrazy są zazwyczaj filtrowane w celu kompresji. Filtry obrazu obsługiwane w formacie PDF obejmują następujące filtry ogólnego przeznaczenia:

  • ASCII85Decode , filtr używany do umieszczania strumienia w 7-bitowym ASCII ,
  • ASCIIHexDecode , podobny do ASCII85Decode, ale mniej kompaktowy,
  • FlateDecode , powszechnie używany filtr oparty na algorytmie deflate zdefiniowanym w RFC  1951 (deflate jest również używany między innymi w formatach plików gzip , PNG i zip ); wprowadzone w PDF 1.2; może używać jednej z dwóch grup funkcji predykcyjnych dla bardziej kompaktowej kompresji zlib/deflate: Predictor 2 ze specyfikacji TIFF 6.0 i predyktorów (filtrów) ze specyfikacji PNG ( RFC  2083 ),
  • LZWDecode , filtr oparty na kompresji LZW ; może używać jednej z dwóch grup funkcji predykcyjnych dla bardziej kompaktowej kompresji LZW: Predictor 2 ze specyfikacji TIFF 6.0 oraz predyktorów (filtrów) ze specyfikacji PNG,
  • RunLengthDecode , prosta metoda kompresji strumieni z powtarzającymi się danymi przy użyciu algorytmu kodowania run-length i filtrów specyficznych dla obrazu,
  • DCTDecode , filtr stratny oparty na standardzie JPEG ,
  • CCITTFaxDecode , bezstratny dwupoziomowy filtr (czarno-biały) oparty na standardzie kompresji faksów grupy 3 lub grupy 4 CCITT (ITU-T) zdefiniowanym w ITU-T T.4 i T.6,
  • JBIG2Decode , stratny lub bezstratny filtr dwupoziomowy (czarno-biały) oparty na standardzie JBIG2 , wprowadzony w PDF 1.4, oraz
  • JPXDecode , stratny lub bezstratny filtr oparty na standardzie JPEG 2000 , wprowadzony w PDF 1.5.

Zwykle cała zawartość obrazu w pliku PDF jest osadzona w pliku. Ale PDF umożliwia przechowywanie danych obrazu w plikach zewnętrznych przy użyciu zewnętrznych strumieni lub obrazów alternatywnych . Standardowe podzbiory plików PDF, w tym PDF/A i PDF/X , uniemożliwiają korzystanie z tych funkcji.

Tekst

Tekst w formacie PDF jest reprezentowany przez elementy tekstowe w strumieniach zawartości strony. Element tekstowy określa, że znaki powinny być rysowane w określonych pozycjach. Znaki są określane przy użyciu kodowania wybranego zasobu czcionki .

Obiekt czcionki w formacie PDF to opis kroju pisma cyfrowego . Może opisywać charakterystykę kroju pisma lub zawierać osadzony plik czcionki . Ten drugi przypadek nazywa się czcionką osadzoną, a pierwszy — czcionką nieosadzaną . Pliki czcionek, które można osadzać, są oparte na powszechnie używanych standardowych formatach czcionek cyfrowych: Type 1 (i jego skompresowany wariant CFF), TrueType i (począwszy od PDF 1.6) OpenType . Dodatkowo PDF obsługuje wariant Type 3, w którym składniki czcionki są opisane przez operatorów graficznych PDF.

Czternaście krojów pisma, znane jako standardowe 14 fontów , ma szczególne znaczenie w dokumentach PDF:

  • Times (v3) (normalna, kursywa, pogrubiona i pogrubiona kursywa)
  • Kurier (w zwykłym, ukośnym, pogrubionym i pogrubionym ukośnym)
  • Helvetica (v3) (w zwykłym, ukośnym, pogrubionym i pogrubionym ukośnym)
  • Symbol
  • Dingbaty Zapf

Czcionki te są czasami nazywane podstawowymi czternastoma czcionkami . Te czcionki lub odpowiednie czcionki zastępcze o tych samych parametrach powinny być dostępne w większości czytników PDF, ale nie ma gwarancji, że będą dostępne w czytniku i mogą być wyświetlane poprawnie tylko wtedy, gdy system je zainstalował. Czcionki można zastąpić, jeśli nie są osadzone w pliku PDF.

W ciągu tekstowym znaki są wyświetlane przy użyciu kodów znaków (liczb całkowitych), które są odwzorowywane na glify w bieżącej czcionce przy użyciu kodowania . Istnieje wiele wstępnie zdefiniowanych kodowań, w tym WinAnsi , MacRoman i wiele kodowań dla języków wschodnioazjatyckich, a czcionka może mieć własne wbudowane kodowanie. (Chociaż kodowania WinAnsi i MacRoman pochodzą z historycznych właściwości systemów operacyjnych Windows i Macintosh , czcionki korzystające z tych kodowań działają równie dobrze na każdej platformie). tabela przeglądowa różnic względem wstępnie zdefiniowanego lub wbudowanego kodowania (niezalecane w przypadku czcionek TrueType). Mechanizmy kodowania w PDF zostały zaprojektowane dla czcionek Type 1, a zasady ich stosowania do czcionek TrueType są złożone.

W przypadku dużych czcionek lub czcionek z niestandardowymi glifami używane są specjalne kodowania Identity-H (do pisania w poziomie) i Identity-V (do pisania w pionie). Przy takich czcionkach konieczne jest podanie tabeli ToUnicode, jeśli mają być zachowane informacje semantyczne o znakach.

Przezroczystość

Oryginalny model obrazowania PDF był, podobnie jak PostScript, nieprzezroczysty : każdy obiekt narysowany na stronie całkowicie zastąpił wszystko, co wcześniej zaznaczono w tym samym miejscu. W PDF 1.4 model obrazowania został rozszerzony, aby umożliwić przezroczystość. Gdy używana jest przezroczystość, nowe obiekty wchodzą w interakcję z wcześniej zaznaczonymi obiektami, tworząc efekty mieszania. Dodanie przezroczystości do PDF zostało wykonane za pomocą nowych rozszerzeń, które zostały zaprojektowane tak, aby były ignorowane w produktach napisanych w formacie PDF 1.3 i wcześniejszych specyfikacjach. W rezultacie pliki, które wykorzystują niewielką ilość przezroczystości, mogą być wyświetlane w sposób akceptowalny przez starszych przeglądających, ale pliki w dużym stopniu wykorzystujące przezroczystość mogą być wyświetlane nieprawidłowo przez starszego przeglądającego bez ostrzeżenia.

Rozszerzenia przezroczystości bazują na kluczowych koncepcjach grup przezroczystości , trybów mieszania , kształtu i alfa . Model jest ściśle dopasowany do funkcji programu Adobe Illustrator w wersji 9. Tryby mieszania zostały oparte na tych używanych w tym czasie przez Adobe Photoshop . Kiedy opublikowano specyfikację PDF 1.4, formuły obliczania trybów mieszania były utrzymywane w tajemnicy przez Adobe. Od tego czasu zostały opublikowane.

Pojęcie grupy przezroczystości w specyfikacji PDF jest niezależne od istniejących pojęć „grupy” lub „warstwy” w aplikacjach takich jak Adobe Illustrator. Te grupy odzwierciedlają logiczne relacje między obiektami, które mają znaczenie podczas edycji tych obiektów, ale nie są częścią modelu obrazowania.

Dodatkowe funkcje

Struktura logiczna i dostępność

„Oznakowany” plik PDF (patrz punkt 14.8 w ISO 32000) zawiera informacje o strukturze dokumentu i semantyce, aby umożliwić niezawodne wyodrębnianie tekstu i dostępność . Technicznie rzecz biorąc, oznakowany PDF to stylizowane wykorzystanie formatu, który opiera się na strukturze struktury logicznej wprowadzonej w PDF 1.3. Tagged PDF definiuje zestaw standardowych typów struktur i atrybutów, które umożliwiają wyodrębnienie zawartości strony (tekstu, grafiki i obrazów) i ponowne wykorzystanie jej do innych celów.

Oznaczony plik PDF nie jest wymagany w sytuacjach, gdy plik PDF jest przeznaczony tylko do druku. Ponieważ ta funkcja jest opcjonalna, a zasady dotyczące oznakowanych plików PDF były stosunkowo niejasne w ISO 32000-1, obsługa oznakowanych plików PDF wśród zużywających je urządzeń, w tym technologii wspomagających (AT), jest obecnie nierówna. ISO 32000-2 zawiera jednak ulepszoną dyskusję na temat oznakowanych plików PDF, co ma ułatwić dalsze przyjęcie.

Standaryzowany przez ISO podzbiór plików PDF specjalnie ukierunkowany na dostępność, PDF/UA , został po raz pierwszy opublikowany w 2012 roku.

Opcjonalne grupy treści (warstwy)

Wraz z wprowadzeniem wersji PDF 1.5 (2003) pojawiła się koncepcja warstw. Warstwy lub, jak są one bardziej formalnie znane, Opcjonalne grupy treści (OCG), odwołują się do sekcji treści w dokumencie PDF, które mogą być selektywnie przeglądane lub ukrywane przez autorów dokumentów lub użytkowników. Ta funkcja jest przydatna w rysunkach CAD, grafikach warstwowych, mapach, dokumentach wielojęzycznych itp.

Zasadniczo składa się z opcjonalnego słownika właściwości treści dodanego do katalogu głównego dokumentu. Słownik ten zawiera tablicę opcjonalnych grup treści (OCG), z których każda opisuje zestaw informacji i każda z nich może być indywidualnie wyświetlana lub pomijana, a także zestaw opcjonalnych słowników konfiguracji treści, które określają stan (wyświetlany lub pomijany) podane ZGP.

Szyfrowanie i podpisy

Plik PDF może być zaszyfrowany , ze względów bezpieczeństwa, w takim przypadku do przeglądania lub edytowania jego zawartości potrzebne jest hasło. PDF 2.0 definiuje 256-bitowe szyfrowanie AES jako standard dla plików PDF 2.0. Dokumentacja PDF określa również sposoby, w jakie strony trzecie mogą definiować własne systemy szyfrowania plików PDF.

Pliki PDF mogą być podpisane cyfrowo, aby zapewnić bezpieczne uwierzytelnianie; pełne szczegóły dotyczące wdrażania podpisów cyfrowych w formacie PDF są zawarte w normie ISO 32000-2.

Pliki PDF mogą również zawierać osadzone ograniczenia DRM, które zapewniają dodatkowe kontrole ograniczające kopiowanie, edycję lub drukowanie. Ograniczenia te zależą od oprogramowania czytnika, które je przestrzega, więc zapewniane przez nie bezpieczeństwo jest ograniczone.

Standardowe zabezpieczenia zapewniane przez Acrobat PDF składają się z dwóch różnych metod i dwóch różnych haseł: hasła użytkownika , które szyfruje plik i uniemożliwia jego otwarcie, oraz hasła właściciela , które określa operacje, które powinny być ograniczone, nawet gdy dokument jest odszyfrowany, co może obejmują modyfikowanie, drukowanie lub kopiowanie tekstu i grafiki z dokumentu lub dodawanie lub modyfikowanie notatek tekstowych i pól AcroForm . Hasło użytkownika szyfruje plik, podczas gdy hasło właściciela nie, zamiast tego polega na oprogramowaniu klienckim do przestrzegania tych ograniczeń. Hasło właściciela można łatwo usunąć za pomocą oprogramowania, w tym niektórych bezpłatnych usług online. W związku z tym ograniczenia użytkowania, które autor dokumentu nakłada na dokument PDF, nie są bezpieczne i nie można ich zapewnić po rozpowszechnieniu pliku; to ostrzeżenie jest wyświetlane podczas stosowania takich ograniczeń przy użyciu oprogramowania Adobe Acrobat do tworzenia lub edytowania plików PDF.

Nawet bez usuwania hasła większość darmowych lub otwartych czytników PDF ignoruje „zabezpieczenia” uprawnień i pozwala użytkownikowi drukować lub kopiować fragmenty tekstu tak, jakby dokument nie był ograniczony hasłem.

Począwszy od wersji PDF 1.5, podpisy dotyczące praw użytkowania (UR) służą do włączania dodatkowych funkcji interaktywnych, które nie są domyślnie dostępne w określonej aplikacji przeglądarki plików PDF. Podpis służy do potwierdzenia, że ​​uprawnienia zostały przyznane przez organ przyznający w dobrej wierze . Na przykład może służyć do umożliwienia użytkownikowi:

  • Aby zapisać dokument PDF wraz ze zmodyfikowanym formularzem i/lub danymi adnotacji
  • Importuj pliki danych formularzy w formatach FDF, XFDF i tekstowych (CSV/TSV)
  • Eksportuj pliki danych formularzy w formatach FDF i XFDF
  • Prześlij dane formularza
  • Twórz nowe strony z nazwanych szablonów stron
  • Zastosuj podpis cyfrowy do istniejącego pola formularza podpisu cyfrowego
  • Twórz, usuwaj, modyfikuj, kopiuj, importuj i eksportuj adnotacje

Na przykład firma Adobe Systems udziela uprawnień do włączania dodatkowych funkcji w programie Adobe Reader za pomocą kryptografii klucza publicznego . Program Adobe Reader weryfikuje, czy podpis korzysta z certyfikatu z urzędu certyfikacji autoryzowanego przez firmę Adobe. Każda aplikacja PDF może używać tego samego mechanizmu do własnych celów.

W szczególnych okolicznościach, w tym w systemach odbiorcy, które nie zostały załatane , informacje, które widzi odbiorca podpisanego dokumentu cyfrowego, mogą być manipulowane przez nadawcę po podpisaniu dokumentu przez osobę podpisującą.

PAdES ( PDF Advanced Electronic Signatures ) to zestaw ograniczeń i rozszerzeń do PDF i ISO 32000-1 , dzięki czemu nadaje się do zaawansowanych podpisów elektronicznych . Jest to publikowane przez ETSI jako TS 102 778.

Załączniki do plików

Pliki PDF mogą zawierać załączniki, do których procesory mogą uzyskiwać dostęp i otwierać lub zapisywać w lokalnym systemie plików.

Metadane

Pliki PDF mogą zawierać dwa rodzaje metadanych. Pierwszym z nich jest Słownik informacji o dokumencie, zestaw pól klucz/wartość, takich jak autor, tytuł, temat, daty utworzenia i aktualizacji. Jest to opcjonalne i odwołuje się do Infoklucza w zwiastunie pliku. Zdefiniowany jest mały zestaw pól, który w razie potrzeby można rozszerzyć o dodatkowe wartości tekstowe. Ta metoda jest przestarzała w PDF 2.0.

W PDF 1.4 dodano obsługę strumieni metadanych, wykorzystując platformę Extensible Metadata Platform (XMP) do dodawania rozszerzalnych metadanych opartych na standardach XML, które są używane w innych formatach plików. PDF 2.0 umożliwia dołączanie metadanych do dowolnego obiektu w dokumencie, takich jak informacje o osadzonych ilustracjach, czcionkach, obrazach, a także całego dokumentu (załączanie do katalogu dokumentów), za pomocą rozszerzalnego schematu.

Dokumenty PDF mogą również zawierać ustawienia wyświetlania, w tym układ wyświetlania strony i poziom powiększenia w obiekcie Preferencje przeglądarki. Adobe Reader używa tych ustawień do zastąpienia domyślnych ustawień użytkownika podczas otwierania dokumentu. Bezpłatny program Adobe Reader nie może usunąć tych ustawień.

Dostępność

Pliki PDF można tworzyć specjalnie po to, aby były dostępne dla osób niepełnosprawnych. Formaty plików PDF używane od 2014 r. mogą zawierać znaczniki, odpowiedniki tekstowe, podpisy, opisy audio i inne. Niektóre programy mogą automatycznie tworzyć oznakowane pliki PDF , ale ta funkcja nie zawsze jest domyślnie włączona. Wiodące czytniki ekranu , w tym JAWS , Window-Eyes , Hal i Kurzweil 1000 i 3000 mogą czytać oznakowane pliki PDF. Co więcej, oznakowane pliki PDF mogą być ponownie uzupełniane i powiększane dla czytelników z wadami wzroku. Dodawanie znaczników do starszych plików PDF oraz tych, które są generowane z zeskanowanych dokumentów, może stanowić pewne wyzwanie.

Jednym z istotnych wyzwań związanych z dostępnością plików PDF jest to, że dokumenty PDF mają trzy różne widoki, które w zależności od sposobu tworzenia dokumentu mogą być ze sobą niespójne. Te trzy widoki to (i) widok fizyczny, (ii) widok znaczników oraz (iii) widok treści. Widok fizyczny jest wyświetlany i drukowany (co większość ludzi uważa za dokument PDF). Widok tagów jest używany przez czytniki ekranu i inne technologie wspomagające, aby zapewnić użytkownikom niepełnosprawnym wysokiej jakości nawigację i czytanie. Widok zawartości opiera się na fizycznej kolejności obiektów w strumieniu zawartości pliku PDF i może być wyświetlany przez oprogramowanie, które nie obsługuje w pełni widoku znaczników, takie jak funkcja Reflow w programie Adobe Reader.

PDF/UA , międzynarodowy standard dotyczący dostępnych plików PDF oparty na ISO 32000-1, został po raz pierwszy opublikowany jako ISO 14289-1 w 2012 r. i ustanawia normatywny język dla dostępnej technologii PDF.

Multimedialne

Rich Media PDF to plik PDF zawierający interaktywną zawartość, którą można osadzić lub połączyć w pliku.

Formularze

Formularze interaktywne to mechanizm dodawania formularzy do formatu pliku PDF. PDF obsługuje obecnie dwie różne metody integracji danych i formularzy PDF. Oba formaty współistnieją dziś w specyfikacji PDF:

  • AcroForms (znane również jako formularze Acrobat), wprowadzone w specyfikacji formatu PDF 1.2 i uwzględnione we wszystkich późniejszych specyfikacjach PDF.
  • Formularze XML Forms Architecture (XFA), wprowadzone w specyfikacji formatu PDF 1.5. Formularze Adobe XFA nie są zgodne z formularzami AcroForms. XFA został wycofany z PDF z PDF 2.0.

AcroForms zostały wprowadzone w formacie PDF 1.2. AcroForms zezwolenie według przedmiotów ( np pola tekstowe , przyciski radiowe , itd ), a niektóre kodu ( np JavaScript ). Oprócz standardowych typów akcji PDF, interaktywne formularze (AcroForms) obsługują przesyłanie, resetowanie i importowanie danych. Akcja „prześlij” przesyła nazwy i wartości wybranych pól formularza interaktywnego do określonego jednolitego lokalizatora zasobów (URL). Interaktywne nazwy i wartości pól formularza można przesyłać w dowolnym z następujących formatów (w zależności od ustawień flag akcji ExportFormat, SubmitPDF i XFDF):

Format formularza HTML
Specyfikacja HTML 4.01 od PDF 1.5; HTML 2.0 od 1.2
Format danych formularzy (FDF)
oparty na PDF, używa tej samej składni i ma zasadniczo taką samą strukturę plików, ale jest znacznie prostszy niż PDF, ponieważ treść dokumentu FDF składa się tylko z jednego wymaganego obiektu. Format danych formularzy jest zdefiniowany w specyfikacji PDF (od wersji PDF 1.2). Forms Data Format może być używany podczas przesyłania danych formularza na serwer, odbierania odpowiedzi i włączania ich do interaktywnego formularza. Może być również używany do eksportowania danych formularza do samodzielnych plików, które można zaimportować z powrotem do odpowiedniego interaktywnego formularza PDF. FDF został pierwotnie zdefiniowany w 1996 roku jako część ISO 32000-2:2017.
Format danych formularzy XML (XFDF)
(zewnętrzna specyfikacja formatu danych XML Forms, wersja 2.0; obsługiwana od wersji PDF 1.5; zastąpił format przesyłania formularzy „XML” zdefiniowany w PDF 1.4) wersja XML Forms Data Format, ale XFDF implementuje tylko podzbiór FDF zawierający formularze i adnotacje. Niektóre wpisy w słowniku FDF nie mają odpowiedników XFDF – takich jak Status, Kodowanie, JavaScript, Klucze strony, EmbeddedFDFs, Różnice i Cel. Ponadto XFDF nie pozwala na tworzenie lub dodawanie nowych stron na podstawie podanych danych; tak jak można to zrobić podczas korzystania z pliku FDF. Specyfikacja XFDF jest przywoływana (ale nie jest dołączona) w specyfikacji PDF 1.5 (i w nowszych wersjach). Została ona opisana oddzielnie w Specyfikacji formatu danych formularzy XML . Specyfikacja PDF 1.4 umożliwiała przesyłanie formularzy w formacie XML, ale została ona zastąpiona przez przesyłanie w formacie XFDF w specyfikacji PDF 1.5. XFDF jest zgodny ze standardem XML. XFDF może być używany w taki sam sposób jak FDF; np. dane formularza są przesyłane na serwer, dokonywane są modyfikacje, a następnie odsyłane i importowane są nowe dane formularza w formie interaktywnej. Może być również używany do eksportowania danych formularza do samodzielnych plików, które można zaimportować z powrotem do odpowiedniego interaktywnego formularza PDF. Od sierpnia 2019 r. XFDF 3.0 jest standardem ISO/IEC pod formalną nazwą ISO 19444-1:2019 — Zarządzanie dokumentami — Format danych formularzy XML — Część 1: Stosowanie normy ISO 32000-2 (XFDF 3.0) . Norma ta jest odniesieniem normatywnym do ISO 32000-2.
PDF
można przesłać cały dokument, a nie poszczególne pola i wartości, jak zdefiniowano w PDF 1.4.

AcroForms może przechowywać wartości pól formularza w zewnętrznych autonomicznych plikach zawierających pary klucz:wartość. Pliki zewnętrzne mogą używać plików Forms Data Format (FDF) i XML Forms Data Format (XFDF). Podpisy praw użytkowania (UR) definiują prawa do importu plików danych formularzy w formatach FDF, XFDF i tekstowych ( CSV / TSV ) oraz eksportu plików danych formularzy w formatach FDF i XFDF.

W PDF 1.5 firma Adobe Systems wprowadziła zastrzeżony format formularzy; Architektura formularzy Adobe XML (XFA). Formularze Adobe XFA nie są zgodne z funkcją AcroForms ISO 32000, a większość procesorów PDF nie obsługuje treści XFA. Specyfikacja XFA jest przywoływana z ISO 32000-1/PDF 1.7 jako zewnętrzna specyfikacja zastrzeżona i została całkowicie wycofana z PDF z ISO 32000-2 (PDF 2.0).

Koncesjonowanie

Każdy może tworzyć aplikacje, które mogą odczytywać i zapisywać pliki PDF bez konieczności płacenia tantiem firmie Adobe Systems ; Firma Adobe posiada patenty na pliki PDF, ale udziela na nie licencji do bezpłatnego użytku przy opracowywaniu oprogramowania zgodnego ze specyfikacją PDF.

Bezpieczeństwo

W listopadzie 2019 r. naukowcy z Ruhr University Bochum i Hackmanit GmbH opublikowali ataki na cyfrowo podpisane pliki PDF . Pokazali, jak zmienić widoczną zawartość w podpisanym pliku PDF bez unieważniania podpisu w 21 z 22 przeglądarek plików PDF na komputery i 6 z 8 usług weryfikacji online, wykorzystując wady implementacji. Na tej samej konferencji pokazali dodatkowo, jak wydobyć tekst jawny z zaszyfrowanej treści w plikach PDF. W 2021 r. pokazali nowe tak zwane ataki typu shadow na pliki PDF, które nadużywają elastyczności funkcji zawartych w specyfikacji. Przegląd problemów bezpieczeństwa w plikach PDF dotyczących odmowy usługi , ujawniania informacji , manipulacji danymi i ataków polegających na wykonywaniu arbitralnego kodu został przedstawiony przez Jensa Müllera.

Załączniki PDF zawierające wirusy zostały po raz pierwszy odkryte w 2001 roku. Wirus o nazwie OUTLOOK.PDFWorm lub Peachy używa programu Microsoft Outlook do wysyłania się jako załączony plik Adobe PDF. Został aktywowany w programie Adobe Acrobat, ale nie w programie Acrobat Reader.

Od czasu do czasu w różnych wersjach programu Adobe Reader wykrywane są nowe luki, które skłaniają firmę do wydawania poprawek bezpieczeństwa. Inne czytniki PDF również są podatne. Jednym z czynników obciążających jest to, że czytnik PDF można skonfigurować tak, aby uruchamiał się automatycznie, jeśli strona internetowa zawiera osadzony plik PDF, stanowiąc wektor ataku. Jeśli złośliwa strona internetowa zawiera zainfekowany plik PDF, który wykorzystuje lukę w czytniku PDF, system może zostać naruszony, nawet jeśli przeglądarka jest bezpieczna. Niektóre z tych luk wynikają ze standardu PDF umożliwiającego skryptowanie dokumentów PDF za pomocą JavaScript. Wyłączenie wykonywania JavaScriptu w czytniku PDF może pomóc złagodzić takie przyszłe exploity, chociaż nie chroni przed exploitami w innych częściach oprogramowania do przeglądania plików PDF. Eksperci ds. Bezpieczeństwa twierdzą, że JavaScript nie jest niezbędny dla czytnika plików PDF i że korzyści w zakresie bezpieczeństwa wynikające z wyłączenia JavaScript przewyższają wszelkie spowodowane problemy ze zgodnością. Jednym ze sposobów uniknięcia exploitów w plikach PDF jest skorzystanie z usługi lokalnej lub internetowej, która przekonwertuje pliki na inny format przed ich wyświetleniem.

30 marca 2010 r. badacz bezpieczeństwa Didier Stevens zgłosił exploita Adobe Readera i Foxit Readera, który uruchamia złośliwy plik wykonywalny, jeśli użytkownik zezwoli na jego uruchomienie, gdy zostanie o to poproszony.

Oprogramowanie

Widzowie i redaktorzy

Przeglądarki plików PDF są zazwyczaj udostępniane bezpłatnie, a wiele wersji jest dostępnych z różnych źródeł.

Istnieje wiele opcji oprogramowania do tworzenia plików PDF, w tym funkcje drukowania PDF wbudowane w systemy macOS , iOS i większość dystrybucji Linuksa , LibreOffice , Microsoft Office 2007 (jeśli został zaktualizowany do SP2 ) i nowsze wersje , WordPerfect 9, Scribus , liczne sterowniki drukowania PDF dla firmy Microsoft okna The pdfTeX systemu składu, gdy Docbook PDF Tools, aplikacje rozwijane wokół Ghostscript i Adobe Acrobat sama, jak Adobe InDesign , Adobe FrameMaker , Adobe Illustrator , Adobe Photoshop . Google pakiet biurowy w Internecie jest Google Docs pozwala na przesyłanie i zapisywanie do pliku PDF. Niektóre aplikacje internetowe oferują bezpłatne narzędzia do edycji plików PDF i adnotacji.

Free Software Foundation kiedyś uważany za jeden ze swoich projektów o wysokim priorytecie jest „rozwijanie wolnego, wysokiej jakości, w pełni funkcjonalny zestaw bibliotek i programów, które implementują format pliku PDF oraz technologie związane z normą ISO 32000”. Jednak w 2011 roku projekt GNU PDF został usunięty z listy „projektów o wysokim priorytecie” ze względu na dojrzewanie biblioteki Poppler , która cieszy się szerszym zastosowaniem w aplikacjach takich jak Evince ze środowiskiem graficznym GNOME . Poppler bazuje na kodzie Xpdf . Dostępne są również komercyjne biblioteki programistyczne, wymienione w wykazie oprogramowania PDF .

Projekt Apache PDFBox firmy Apache Software Foundation to biblioteka Java typu open source do pracy z dokumentami PDF. PDFBox jest objęty licencją Apache License .

Druk

Procesory obrazu rastrowego (RIP) służą do konwersji plików PDF do formatu rastrowego odpowiedniego do obrazowania na papierze i innych nośnikach w drukarkach, cyfrowych prasach produkcyjnych i przygotowalni w procesie znanym jako rasteryzacja . RIP zdolne do bezpośredniego przetwarzania plików PDF obejmują Adobe PDF Print Engine firmy Adobe Systems and Jaws oraz Harlequin RIP firmy Global Graphics .

W 1993 roku Szczęki procesor obrazu rastrowego z Globalnego Graphics stał się pierwszym wysyłka prepress RIP że interpretowane PDF natywnie bez konwersji do innego formatu. Firma wydała aktualizację do swojego Harlequin RIP z taką samą funkcjonalnością w 1997 roku.

Firma Agfa-Gevaert wprowadziła i wysłała Apogee, pierwszy system przepływu pracy do druku oparty na PDF, w 1997 roku.

Wiele komercyjnych drukarni offsetowych zaakceptowało przesyłanie gotowych do druku plików PDF jako źródła wydruku, w szczególności podzbiór PDF/X-1a i jego odmiany. Przesyłanie gotowych do druku plików PDF zastępuje problematyczną potrzebę otrzymywania zebranych natywnych plików roboczych.

W 2006 r. PDF został powszechnie zaakceptowany jako standardowy format zadania drukowania na konferencji Open Source Development Labs Printing Summit. Jest obsługiwany jako format zadania drukowania przez Common Unix Printing System, a projekty aplikacji komputerowych, takie jak GNOME , KDE , Firefox , Thunderbird , LibreOffice i OpenOffice przełączyły się na emitowanie zadań drukowania w formacie PDF.

Niektóre drukarki biurkowe obsługują również bezpośrednie drukowanie plików PDF, które mogą interpretować dane PDF bez pomocy z zewnątrz.

Natywny model wyświetlacza

PDF został wybrany jako „natywny” format metapliku dla systemu Mac OS X , zastępując format PICT wcześniejszego klasycznego systemu Mac OS . Model obrazowania warstwy graficznej Quartz jest oparty na modelu wspólnym dla Display PostScript i PDF, co prowadzi do pseudonimu Display PDF . Aplikacja Podgląd może wyświetlać pliki PDF, podobnie jak wersja 2.0 i nowsze przeglądarki internetowej Safari . Obsługa plików PDF na poziomie systemu umożliwia aplikacjom Mac OS X automatyczne tworzenie dokumentów PDF, pod warunkiem, że obsługują one standardową architekturę drukowania systemu operacyjnego. Pliki są następnie eksportowane w formacie PDF 1.3 zgodnie z nagłówkiem pliku. Podczas robienia zrzutu ekranu w systemie Mac OS X w wersjach od 10.0 do 10.3 obraz został również przechwycony jako plik PDF; nowsze wersje zapisują zrzuty ekranu jako plik PNG , chociaż w razie potrzeby to zachowanie można przywrócić do formatu PDF.

Adnotacja

Adobe Acrobat to jeden z przykładów zastrzeżonego oprogramowania, które pozwala użytkownikowi dodawać adnotacje, wyróżniać i dodawać notatki do już utworzonych plików PDF. Jedną z aplikacji UNIX dostępnych jako wolne oprogramowanie (w ramach Powszechnej Licencji Publicznej GNU ) jest PDFedit . Darmowy Foxit Reader , dostępny dla systemów Microsoft Windows , MacOS i Linux , umożliwia opisywanie dokumentów. Przeglądarka PDF-XChange Viewer oprogramowania Tracker pozwala na adnotacje i znaczniki bez ograniczeń w swojej bezpłatnej alternatywie. Jabłko 's MacOS jest zintegrowana przeglądarka plików PDF, podgląd, czy też włączyć adnotacje podobnie jak open-source oprogramowanie odtłuszczone , z drugiej interakcji nośnej z LaTeX , SyncTeX i PDFSync i integracji z BibDesk oprogramowania do zarządzania odniesienia. Freeware Qiqqa może utworzyć raport z adnotacjami, który podsumowuje wszystkie adnotacje i notatki, które ktoś zrobił w swojej bibliotece plików PDF. Narzędzie do weryfikacji tekstu eksportuje różnice w dokumentach jako adnotacje i znaczniki.

Istnieją również internetowe systemy adnotacji , które obsługują adnotacje w formacie pdf i innych formatach dokumentów. W przypadkach, w których oczekuje się, że pliki PDF będą miały wszystkie funkcje dokumentów papierowych, wymagana jest adnotacja odręczna.

Alternatywy

XML Paper Specification jest konkurowanie format używany zarówno jako język opisu strony i jak natywnym formacie buforze drukarki dla systemu Microsoft Windows od Windows Vista .

Obiekt mieszany: architektura treści dokumentu to format konkurencyjny. MO:DCA-P jest częścią zaawansowanej prezentacji funkcji .

Zobacz też

Bibliografia

Dalsza lektura

Zewnętrzne linki