Windows original typed rich form filling
Zadania plikowe Windows i hpdf_document_execute_json_v1 akceptują żądania forms.fill zawierające richTextRuns obok zwykłych aktualizacji tekstu, choice i button; wszystkie pola dzielą jednego uwierzytelnionego kandydata PDF
Oryginalne typowane runy docierają bezpośrednio do natywnego kompozytora wyglądów; generowanie AP nie robi round tripu przez serializowaną reprezentację kolorów RV; zwykłe V, standardowe rich RV i rzeczywiste AP są przygotowywane razem
Request
{
"schemaVersion": 1,
"type": "forms.fill",
"fontFamilies": ["DejaVu Sans", "DejaVu Serif Condensed"],
"fields": [
{"name": "Input", "richTextRuns": [
{"text": "First paragraph", "fontStyle": "bold"},
{"text": "Second paragraph", "fontSize": 14}
]},
{"name": "Plain", "value": "Changed scalar"},
{"name": "Choice", "values": ["B", "C"]},
{"name": "Check", "value": "Yes"}
]
}
Każde pole dostarcza richTextRuns albo wartość skalarną albo values; opcjonalna wartość obok richTextRuns musi dokładnie zgadzać się z natywnie wywiedzionym tekstem zwykłym, łącznie z carriage returnami między typowanymi akapitami; serializowany richText nie jest wejściem typowanych runów
Każdy run wymaga text i akceptuje fontStyle, fontSize, color, underline, strikeOut, paragraphBreakBefore i alignment; fontStyle to regular, bold, italic albo boldItalic; alignment to left, center albo right; składowe RGB to skończone liczby od zera do jedności
Rozmiary runów muszą być dodatnie i co najwyżej 4096 punktów; brakujący rozmiar używa fontSize pola albo 12 punktów; natywne formatowanie numeryczne PDF nadal stosuje się, podczas gdy standardowe RV CSS serializuje kolory do składowych ośmiobitowych
Opcje wyglądu pola obejmują fontSize, padding, characterSpacing, wordSpacing i paintWhiteBackground; rzeczywiste generowanie AP jest wymagane, więc appearance=false jest niepoprawne
Actual font programs
Tablica pola fontFamilies nadpisuje tablicę operacji; skonfigurowane tablice zawierają od jednej do szesnastu niepustych poprawnych etykiet rodzin; dopasowanie zniża wielkość liter ASCII i porównuje inne Unicode dokładnie; jawne fontFamily runa musi pasować do skonfigurowanej etykiety, a brakująca etykieta runa wybiera pierwszą rodzinę
Bez fontFamilies oryginalna ścieżka pojedynczej rodziny pozostaje dostępna; etykieta callbacka fontu pochodzi z fontFamily pola, fontFamily operacji albo DejaVu Sans; oryginalne runy pojedynczej rodziny pomijają fontFamily runa
Zadania plikowe dodają input, output i fonts; fonts mapuje każdą skonfigurowaną etykietę rodziny na ścieżki plików regular, bold, italic i boldItalic; ładowane są wyłącznie używane style i krój regular potrzebny wyglądów skalarnych; ścieżki plików nie mogą być aliasami wyjścia
Wersjonowani wywołujący C ABI używają istniejącego rozszerzenia hpdf_form_data_operation_v1 i zwracają czytelne tabele hpdf_io_v1 z jego callbacka fontu; etykiety rodzin są UTF-8, a wartości stylów 0-3; wszystkie rzeczywiste programy są kopiowane do ograniczonych posiadanych bajtów przed kompozycją wyglądów
Oryginalne symbole V1, rozmiary struktur bazowych i offsety opcjonalnego rozszerzenia pozostają niezmienione; zasoby rodzina/styl są cache'owane w jednym żądaniu i współdzielone między polami bez wielokrotnego obciążania tej samej posiadanej alokacji
Opt-in fallbackFontFamilies=true stosuje fallback całych grafemów między rzeczywiście dostarczonymi rodzinami; typowane runy mogą zachować uporządkowaną tablicę fontFamilyCandidates, z zadeklarowanymi kandydatami rozważanymi przed kolejnością skonfigurowaną; zobacz Windows supplied-family rich font fallback po dziedziczenie żądań i ładowanie callbacków czterech stylów
Current graph and publication
Bez InputIO, ABI C używa swojego posiadanego załadowanej rewizji i rzeczywistego oczekującego grafu; opcjonalny InputIO dostarcza zastępczy PDF, kopiowany i uwierzytelniany prywatnie przed jakimkolwiek callbackiem fontu; ani mutacja pożyczonego wejścia, ani nieudane zastąpienie nie mogą zmienić zacommitowanego kontekstu
OutputIO i ResultIO są wymagane; rzeczywisty kandydat PDF i JSON wyniku muszą oba się zakończyć sukcesem, po czym następuje finalny checkpoint anulowania, zanim ABI C wymieni dokument i źródło
Nieudany callback mógł już otrzymać bajty kandydata; wywołujący muszą odrzucić te bajty, gdy zwrócony status jest niezerowy; wcześniej zacommitowany kontekst biblioteki pozostaje niezmieniony
Zadania plikowe stage'ują kompletnego kandydata i ograniczoną odpowiedź przed atomową zamianą żądanego wyjścia; brakujący font, awaria polityki, anulowanie albo awaria pojemności zachowuje istniejący cel
Policies and result
Istniejąca integralność podpisów, DocMDP P1/P2/P3, blokady FieldMDP, flagi read-only i uprawnienia form-fill AES są wymuszane przez natywny uwierzytelniony silnik; signaturePolicy akceptuje te same jawne ustawienia zaufania, znaczników czasu i revokacji co importy formularzy Windows
Aktualizacja read-only o tym samym wejściu się udaje wyłącznie, gdy rzeczywiści operatorzy AP, fonty, zasoby i wartości pól są równoważne; kompresowane strumienie AP i niekanoniczne równoważne RV są wspierane; prawdziwa zmiana stylu pozostaje zmianą, nawet jeśli jej kolor RV kwantyzuje się do tej samej wartości CSS
Prawdziwie niezmienione żądanie publikuje dokładne bajty przygotowanej bieżącej rewizji po uwierzytelnieniu polityki; oczekujące edycje grafu są materializowane w tej bieżącej rewizji przed porównaniem
Udane odpowiedzi zawierają typedRichText=true, typedRichProfile=original-typed-runs-v1, updated, fieldCount, fontBytes i fields z rzeczywiście przygotowanego kandydata; formDataExchange.typedRichFill opisuje te zaimplementowane wejścia
Każdy item fields zachowuje zwykłe name, skalarne value i podsumowanie fieldType; choice wsparty tablicą ma pustą skalarną wartość w tym podsumowaniu, podczas gdy jego pełny wybór pozostaje w zapisanym PDF i kolejnym eksporcie FDF/XFDF
Bezpośrednia fasada zadań ExecuteLoadedOperation i legacy rozszerzenie callbacków handle/font HPDFDocRunJob pozostają odrębną pracą; to powiązanie nie dodaje wymiany adnotacji, osadzonych plików, akcji ani przyrostowych FDF
Related topics
FillTypedData, Transakcja Windows, Natywne mieszane typowane aktualizacje, Wymiana FDF/XFDF Windows