PDF 2.0 Conformance Support
HotPDF potrafi zapisywać i ponownie wczytywać dokumenty PDF 2.0 przez wartość tylko-dołączaną pdf20 w TPDFVersType
PDF/A-4 profiles
PDFACompliance | Profile | Wygenerowana identyfikacja |
|---|---|---|
'4' | PDF/A-4 base | part=4, rev=2020, brak pola zgodności |
'4E' | PDF/A-4e engineering | part=4, rev=2020, conformance=E |
'4F' | Skojarzone pliki PDF/A-4f | part=4, rev=2020, conformance=F |
Wszystkie trzy profile wymuszają nagłówek PDF 2.0, wymagają normalnych sprawdzeń intencji wyjściowej i metadanych PDF/A oraz zabraniają szyfrowania
AddPDFAssociatedFile akceptuje skojarzone pliki w PDF/A-3, PDF/A-4e i PDF/A-4f, podczas gdy AddPDFA3AssociatedFile pozostaje dostępne dla zgodności ze źródłem
PDF/A-4e włącza istniejące ścieżki adnotacji 3D i RichMedia dla dokumentów inżynieryjnych
PDF/UA-2 workflow
PDF.PDFUACompliance := True;
PDF.PDFUAPart := 2;
PDF.Lang := 'en-US';
PDF.BeginDoc;
Root := PDF.AddStructureElement('Document', nil);
PDF.AddStructureElementNS('WidgetGroup',
'https://example.com/ns/widgets', Root);
PDF.EndDoc;
Część 2 wymusza PDF 2.0 i emituje pdfuaid:part=2 plus pdfuaid:rev=2024
RegisterStructureNamespace tworzy lub ponownie używa pośredni słownik /Type /Namespace i umieszcza go w StructTreeRoot /Namespaces
AddStructureElementNS dołącza zarejestrowany słownik przez wpis /NS elementu struktury i pozwala na role niestandardowe w tej przestrzeni nazw
Validation at EndDoc
- Korzeń struktury musi zawierać dokładnie jeden element
Documentnajwyższego poziomu - Każdy słownik przestrzeni nazw musi być pośredni, o typie
Namespacei przenosić unikalny niepusty URI - Każde odwołanie
/NSelementu struktury musi rozwiązywać się do słownika wymienionego przez główną tablicę/Namespaces - Rola bez przestrzeni nazw musi być standardową rolą PDF 2.0 lub rozwiązywać się przez
RoleMap
PDF 2.0 structure roles
Typizowane wyliczenie dodaje DocumentFragment, Aside, Title, FENote, Sub, Em, Strong i Artifact
Przeciążenie tekstowe dodatkowo akceptuje otwartą formę Hn, w tym H7 i nowsze