İçeriğe geç

NextPDF Connect (Pro) ile PDF formunu doldurma

Etkileşimli PDF form alanlarını NextPDF Connect üzerinden XML Forms Data Format (XFDF) ile doldurun. İmzalama ve form işlemleri için kullanılan araç fill_form’dur. Pro araç sağlayıcısı new FillFormTool() nesnesini kaydeder; bu nesnenin protokol adı fill_form’dur. fill_form, Pro katmanında bir araçtır. Sunucu, açılışta Pro paketini class_exists() ile denetler ve aracı yalnızca paket mevcut olduğunda kaydeder. Yalnızca Core kullanıldığında fill_form kayıt defterinde bulunmaz.

Terminal window
composer require nextpdf/server
composer require nextpdf/pro

Bir taşıma katmanı bağlayın. Ardından aracın var olduğunu diagnostic.capabilities ile doğrulayın (bkz. environment-diagnostics). Sabit bir araç kümesi varsaymayın.

XFDF, alan adlarını değerlere <field> öğeleriyle eşler. Her ad, hedef belgede zaten var olan bir AcroForm alanıyla eşleşmelidir. Etkileşimli form alan sözlüğü her alanı içerir (ISO 32000-2 §12.7) ve sağlanan değer alanın değeri olur (ISO 32000-2 §12.7). Bir ad hiçbir alanla eşleşmezse araç, bunu hata olarak ele almak yerine atlar. Araç, kaç alanı doldurduğunu ve kaçını atladığını bildirir.

AraçKatmanRolRisk katmanı
create_pdfCoreOturumu açarGüvenli
fill_formProXFDF değerlerini AcroForm alanlarına uygularDikkat
output_pdfCorePDF’yi işler ve döndürürOnay gerekli / inceleme (base64)

Araç adları, kayıt defterinin protokol adlarıdır. Araç kataloğu resmi kayıt kataloğudur. Kullanılabilir araçları kurulu katman belirler. Pro araçları yalnızca Pro paketi kurulu olduğunda görünür.

  1. create_pdf (veya zaten form alanları olan bir şablon yükleyin).
  2. fill_form, alan adlarını değerlere eşleyen xfdf_data ile.
  3. output_pdf → base64.

Sonuç, fields_filled, fields_skipped ve eşleşen alan adlarını bildirir.

Alan adları sizin denetiminizde olan AcroForm alanlarına sahip bir şablon kullanın. XFDF’yi göndermeden önce XFDF şemasına göre doğrulayın. Ad uyuşmazlıklarını yakalamak için fields_skipped değerini ve döndürülen ad listesini denetleyin (adlar büyük/küçük harfe duyarlıdır). Büyük doldurma işlemlerinde XFDF boyut sınırının altında kalın ve gerekirse veriyi bölün.

  • Hatalı biçimlendirilmiş XFDF. Bir ayrıştırma hatası, sorunlu konumu belirtir. XML varlıklarını kaçışlayın ve xmlns değerini ekleyin.
  • Ad uyuşmazlığı. Eşleşmeyen bir alan sessizce atlanır ve fields_skipped değeri bir artar. Adlar büyük/küçük harfe duyarlıdır.
  • Form alanı yok. AcroForm içermeyen bir belge, doldurulan alan sayısını sıfır olarak verir.
  • XFDF çok büyük. Sunucu, boyut sınırını aşan veriyi reddeder. Veriyi bölün veya boşlukları temizleyin.
  • Pro yok. Yalnızca Core kullanıldığında fill_form kaydedilmez ve onu çağırmak bilinmeyen araç hatası döndürür. Önce diagnostic.capabilities ile denetleyin.

Doldurma, işlemeye kıyasla hızlıdır. Çıktı, alan sayısına ve yazı tipi gömülmesine bağlı olarak birkaç KB ile onlarca KB arasında değişir. Profil structural’dır.

Alan değerleri belge içeriği olur. PDF’yi daha sonra güvenilmeyen bir kanal üzerinden döndürecekseniz form alanlarına gizli bilgiler yerleştirmeyin. base64 yolu dosya sisteminde yan etki oluşturmaz. Dosya çıktısı onay kapısına tabidir.

İfadeSpesifikasyonMaddereference_id
Bir form alanı, etkileşimli form alan sözlüğünde tutulur.ISO 32000-2§12.7
Sağlanan veri, alanın değeri olur.ISO 32000-2§12.7

fill_form, Pro katmanında bir araçtır. Sunucu bu aracı yalnızca Pro paketi açılışta çözüldüğünde kaydeder (class_exists() yoklaması). Core dağıtımları onu açığa çıkarmaz.

Taşıma katmanıKullanılabilirNotlar
MCP (stdio)Evet (Pro)Yalnızca Pro kurulu olduğunda mevcuttur.
RESTEvet (Pro)Aynı.
gRPCEvet (Pro)Aynı.

fill_form, geri alınabilir bir içerik değişikliği yaptığı için dikkat düzeyindedir. output_pdf, onay gerekli düzeyindedir ve base64 modunda inceleme düzeyine indirilir (HITL risk katmanları).

base64 çıktısı:

{ "allowed": true }

Dosya çıktısı, output-approval bölümünde açıklanan sınama zarfını döndürür.