Native Linux C ABI form interchange

Użyj istniejącego wersjonowanego wejścia hpdf_document_execute_json_v1 i rekordu hpdf_operation_v1, aby eksportować albo importować wartości AcroForm skalarne i ograniczone rich jako FDF albo XFDF

Wersja ABI, eksportowane symbole i layout rekordów callbacków pozostają niezmienione

OperacjaInputIOOutputIOResultIO
forms.exportOpcjonalne wejście PDF; w przeciwnym razie użyj załadowanego dokumentuRzeczywiste bajty FDF albo XFDFFormat JSON, typ mediów, liczba pól i liczba bajtów wyjścia
forms.importWymagane bajty FDF albo XFDF; PDF docelowy musi być już załadowanyPrzygotowane zaktualizowane bajty PDFFormat JSON, typ mediów, liczba pól i liczba zmienionych pól

Obie operacje wymagają, by format był dokładnie fdf albo xfdf, z schemaVersion ustawionym na 1

{"schemaVersion":1,"type":"forms.export","format":"xfdf"}
{"schemaVersion":1,"type":"forms.import","format":"fdf","fontFamily":"DejaVu Sans","fontSize":12}

Obsługiwane wartości obejmują zagnieżdżone pola tekstowe Unicode, stany eksportu checkbox i radio, wybory skalarne i wybory wielokrotne; akceptowane są UTF-8 i UTF-16 XFDF z BOM

FDF RV i XFDF value-richtext używają profilu rich inline-xhtml-v1, z rzeczywistymi programami fontów regular, bold, italic i bold-italic wybieranymi przez fontFamily

Pola podpisów i pushbutton są reprezentowane przez swoje nazwy bez importowanych wartości, zachowując zapełnione podpisy i istniejące zachowanie przycisków

Import regeneruje prawdziwe wyglądy i zachowuje uwierzytelnione szyfrowanie AES R5/R6, pola read-only, uprawnienia DocMDP i blokady FieldMDP

Opcjonalny signaturePolicy akceptuje requireCAdES, requireTimestamp, requireTimestampRevocation, istniejące ustawienia pliku zaufania albo PEM i revocationInfo używając schematu opcji podpisywania

Jawna podpisana polityka revokacji weryfikuje rzeczywiste osadzone atrybuty podpisu, łącznie z tymi w znaczniku czasu dokumentu RFC 3161; zewnętrznie dostarczone bajty statusu nie mogą zastąpić brakującego wymaganego atrybutu

Opcjonalny formDataLimits zawiera dodatnie całkowite ustawienia maxBytes, maxFields, maxObjects, maxDepth, maxValues, maxValueCodeUnits i maxTotalCodeUnits, ograniczone natywnymi defaultami i pojemnością operacji

Istniejące limits.memoryBytes, outputBytes i resultBytes dodatkowo ograniczają przygotowanie i publikację; wyczerpany limit wymiany zwraca HPDF_STATUS_BUDGET_EXCEEDED

Callbacki wykonują się synchronicznie na wątku wywołującym i mogą zwracać częściowe odczyty albo zapisy; anulowanie jest obserwowane podczas czytania wejścia formularzy, parsowania, przygotowania wyglądów i publikacji wyniku

Załadowany handle celu commituje dopiero po sukcesie callbacków zaktualizowanego PDF i wyniku JSON; błędy callbacków albo anulowanie zachowuje jego poprzedni stan, podczas gdy bajty już zaakceptowane przez posiadane przez wywołującego ujście pozostają jego odpowiedzialnością

Operacje XFDF adnotacji używają odrębnego profilu append z referencjami popup/odpowiedzi i osadzonymi strumieniami plików albo dźwięków

Dowolny layout CSS, osadzone pliki FDF, dowolne akcje i przyrostowa wymiana rewizji FDF pozostają poza profilem form-data

Native Linux C ABI · Opcje podpisywania i zaufania · Natywna transakcja importu