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