Java'da PDF Formları Nasıl Oluşturulabilir

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF for Java, geliştiricilere HTML'yi PDF'lere çevirerek dinamik, etkileşimli PDF formları — metin girişleri, onay kutuları, birleşik kutular ve radyo butonları — oluşturmasına izin verir. HTML-öncelikli yaklaşım, form düzeni ve davranışında size standart web teknolojileri kullanarak tam kontrol sağlarken, özel bir form API'si öğrenmeye gerek bırakmaz. Ayrıca, IronPDF'nin form alanlarını nasıl modellediğini anladığınızda, varolan PDF formlarını programlı olarak doldurabilirsiniz.

Geleneksel Java PDF kütüphaneleri size düşük seviyeli PDF nesneleri üzerinden form alanları inşa ettirir. IronPDF, farklı bir yol izler: formunuzu HTML ve CSS ile yazın, ardından etkileşimli her alanı koruyan bir PDF'ye işleyin. Sonuç, Adobe Acrobat Reader ve tüm büyük PDF görüntüleyicilerle uyumludur.

Hızlı Başlangıç: Java'da Bir PDF Formu Oluşturun

  1. IronPDF for Java'yı projenize Maven Central aracılığıyla ekleyin
  2. Lisans anahtarınızı License.setLicenseKey() ile ayarlayın
  3. Standart form öğelerini (<input>, <textarea>, <select>) içeren bir HTML dizesi yazın.
  4. HTML'yi PDF'ye dönüştürmek için PdfDocument.renderHtmlAsPdf() komutunu çağırın
  5. Ortaya çıkan belgeyi saveAs() ile kaydedin
//:path=/static-assets/ironpdf-java/howto/create-forms/quickstart-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set license key before any rendering call
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML form with a text field and submit button
String formHtml = "<h2>Registration Form</h2>" +
                  "<form>" +
                  "<label>Name: <input type='text' name='fullname' placeholder='Enter name'></label><br>" +
                  "<button type='submit'>Submit</button>" +
                  "</form>";

// Render HTML to PDF — form fields are preserved
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(formHtml);
pdf.saveAs("registration-form.pdf");
//:path=/static-assets/ironpdf-java/howto/create-forms/quickstart-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set license key before any rendering call
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML form with a text field and submit button
String formHtml = "<h2>Registration Form</h2>" +
                  "<form>" +
                  "<label>Name: <input type='text' name='fullname' placeholder='Enter name'></label><br>" +
                  "<button type='submit'>Submit</button>" +
                  "</form>";

// Render HTML to PDF — form fields are preserved
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(formHtml);
pdf.saveAs("registration-form.pdf");
JAVA

Java'da Formları Nasıl Yaparım?

IronPDF, W3C HTML form spesifikasyonunu bir kaynak olarak kabul ederek HTML'den PDF formları oluşturur. Her standart form öğesi — <input>, <textarea>, <select>, <checkbox> ve <radio> — çıktı PDF'sinde etkileşimli bir alan olarak korunur. Bu öğelere CSS ile stil verebilir ve özelleştirilmiş yazı tiplerini ekleyerek marka gereksinimlerinizi karşılayabilirsiniz.

Formlar oluşturulurken, IronPDF HTML form elemanlarının etkileşimli doğasını elde edilen PDF'de korur. Kullanıcılar, PDF görüntüleyicilerinde doğrudan formları doldurabilir, ek yazılıma ihtiyaç duymadan. Formlar, Adobe Acrobat Reader ve yaygın olarak dağıtılan tüm PDF görüntüleyiciler ile çalışır, bu da onları kurumsal ve tüketici ortamları arasında erişilebilir kılar. Gelişmiş render seçenekleri için PDF oluşturma ayarları dokümanına bakınız.

İpuçlarıIronPDF, çalışan bir tarayıcıya veya bir PDF yazdırma sürücüsüne ihtiyaç duymamaktadır. Kütüphanesiyle birlikte gelen oluşturma motoru sayesinde, formlar geliştirme makinelerinde, CI sunucularında ve bulut dağıtımlarında identik şekilde işlenir.

Metin Girişi ve Metin Alanı Formlarını Nasıl Oluştururum?

Metin girdileri ve metin alanları, — adlar, e-posta adresleri, yorumlar ve çok satırlı açıklamalar toplamak için kullanışlı — en yaygın PDF form elemanlarıdır. IronPDF, <input type="text"> öğesini tek satırlık PDF metin alanlarına ve <textarea> öğesini satır ve sütun boyutlarını koruyan çok satırlı alanlara eşler.

HTML form elemanları, PDF'ye dönüştürüldüğünde işlevselliğini korur. Kullanıcılar alanlara tıklayıp yazı yazabilir ve web formu gibi Tab tuşunu kullanarak girdiler arasında geçiş yapabilirler. Varsayılan değerler, yer tutucu metinler ve required ve pattern gibi HTML5 doğrulama öznitelikleri dönüştürme sırasında korunur. Detaylı düzen kontrolü için form elemanlarını özel kağıt boyutları ve kenar boşluğu ayarları ile birleştirin.

//:path=/static-assets/ironpdf-java/howto/create-forms/text-input-textarea-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML with single-line inputs and a multi-line textarea
String htmlContent = """
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <form>
            First name: <br> <input type='text' name='firstname' value=''> <br>
            Last name: <br> <input type='text' name='lastname' value=''> <br>
            Address: <br> <textarea name='address' rows='4' cols='50'></textarea>
        </form>
    </body>
</html>
""";

// Render HTML — both <input> and <textarea> become interactive PDF fields
PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save the document
pdfDoc.saveAs("textAreaAndInputForm.pdf");
//:path=/static-assets/ironpdf-java/howto/create-forms/text-input-textarea-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML with single-line inputs and a multi-line textarea
String htmlContent = """
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <form>
            First name: <br> <input type='text' name='firstname' value=''> <br>
            Last name: <br> <input type='text' name='lastname' value=''> <br>
            Address: <br> <textarea name='address' rows='4' cols='50'></textarea>
        </form>
    </body>
</html>
""";

// Render HTML — both <input> and <textarea> become interactive PDF fields
PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save the document
pdfDoc.saveAs("textAreaAndInputForm.pdf");
JAVA

renderHtmlAsPdf sınıfındaki PdfDocument çağrısı, HTML'yi tamamen etkileşimli bir PDF'ye dönüştürür. Adlandırılmış her form alanı, okuyucuları tarafından okunabilir, standartlara uygun her PDF görüntüleyici tarafından okunabilir PDF'nin AcroForm sözlüğünde ayrı bir alan olur. name özniteliğinde belirlediğiniz alan adları (firstname, lastname, address) çıktıda korunur ve daha sonra form verilerini ayıklarken geri okunabilir.

Çıktı PDF Belgesi:


Onay ve Combobox Formlarını Nasıl Oluştururum?

Onay kutuları ve açılır menüler, PDF formlarındaki en yaygın iki seçim modelini kapsar: ikili açma/kapama seçenekleri ve listeden tek öğe seçimi. IronPDF, <input type="checkbox"> öğesini PDF onay kutusu alanlarına ve <select> öğesini PDF açılır menü (dropdown) alanlarına eşler.

Combobox alanları, kullanıcıların <option> öğeleriyle tanımlanan sabit bir seçenek listesinden seçim yapmasına olanak tanır. Bir seçeneğe selected özniteliğini ekleyerek varsayılan bir seçeneği önceden seçebilir, <optgroup> ile ilgili seçenekleri gruplandırabilir ve CSS kullanarak açılır menünün görünümünü belge tasarımınıza uyarlayabilirsiniz. name öğesindeki <select> özniteliği, sonuç PDF'sinde alan adı haline gelir ve form verilerinin çıkarılmasını kolaylaştırır. PDF AcroForm alanlarının bu seçim verilerini nasıl depoladığını işlemeye ihtiyacınız varsa, detaylar için Apache PDFBox projesine bakınız.

//:path=/static-assets/ironpdf-java/howto/create-forms/checkbox-combobox-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML with a checkbox and a select dropdown
String htmlContent = """
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <h3>Task Completed</h3>
        <label>
            <input type='checkbox' id='taskCompleted' name='taskCompleted'> Mark task as completed
        </label>
        <h3>Select Priority</h3>
        <label for='priority'>Choose priority level:</label>
        <select id='priority' name='priority'>
            <option value='high'>High</option>
            <option value='medium' selected>Medium</option>
            <option value='low'>Low</option>
        </select>
    </body>
</html>
""";

// Render HTML — checkbox and combobox fields are preserved in the PDF
PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save the document
pdfDoc.saveAs("checkboxAndComboboxForm.pdf");
//:path=/static-assets/ironpdf-java/howto/create-forms/checkbox-combobox-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML with a checkbox and a select dropdown
String htmlContent = """
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <h3>Task Completed</h3>
        <label>
            <input type='checkbox' id='taskCompleted' name='taskCompleted'> Mark task as completed
        </label>
        <h3>Select Priority</h3>
        <label for='priority'>Choose priority level:</label>
        <select id='priority' name='priority'>
            <option value='high'>High</option>
            <option value='medium' selected>Medium</option>
            <option value='low'>Low</option>
        </select>
    </body>
</html>
""";

// Render HTML — checkbox and combobox fields are preserved in the PDF
PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save the document
pdfDoc.saveAs("checkboxAndComboboxForm.pdf");
JAVA

Onay kutusu alanı, gönderilen formları işlerken alt kodun okuyabileceği bir boole durumu (/On veya /Off PDF notasyonunda) depolar. Combobox, seçilen <option>'nin value özniteliğini depolar. Her iki alan türü de kaydedilmiş PDF'de etkileşimli kalır — kullanıcılar kutuyu işaretleyebilir veya açılır menü seçimlerini ek bir eklenti veya JavaScript gerekmeden değiştirebilir.

Çıktı PDF Belgesi:


Radyo Düğme Formlarını Nasıl Oluştururum?

Radyo düğmeleri karşılıklı olarak birbirini dışlayan bir seçenek sunar: bir kullanıcı bir grupta bir seçeneği seçtiğinde, aynı grupta önceden seçilmiş herhangi bir seçenek otomatik olarak deselect edilir. IronPDF, <input type="radio"> özniteliğini paylaşan name öğelerini, PDF'nin AcroForm sözlüğündeki tek bir gruplandırılmış radyo alanına eşler.

Bir gruptaki tüm radyo düğmeleri aynı name öznitelik değerini paylaşmalıdır — bu, onları PDF'de birbirine bağlayan unsurdur. Her düğmenin value özniteliği, o seçenek seçildiğinde alanın neyi depolayacağını belirler. Grupta hiçbir düğme seçili değilse, alan değeri None olur. Yüklü bir PdfDocument üzerinde getForm() ve getFields() yöntemlerini kullanarak mevcut seçimi geri okuyabilirsiniz; bu, formları önceden doldurmanıza veya gönderilen verileri doğrulamanıza olanak tanıyan iş akışları oluşturmanıza olanak tanır. Form alanlarını okuma üzerine bir uygulanmış örnek için PDF form verisi örneğine bakınız.

//:path=/static-assets/ironpdf-java/howto/create-forms/radio-button-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML with a radio button group — all three share name='traveltype'
String htmlContent = """
<html>
    <body>
        <h2>Editable PDF Form</h2>
        Choose your preferred travel type: <br>
        <input type='radio' name='traveltype' value='Bike'> Bike <br>
        <input type='radio' name='traveltype' value='Car'> Car <br>
        <input type='radio' name='traveltype' value='Airplane'> Airplane
    </body>
</html>
""";

// Render HTML — all three radio inputs become one grouped field in the PDF
PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save the document
pdfDoc.saveAs("radioButtonForm.pdf");
//:path=/static-assets/ironpdf-java/howto/create-forms/radio-button-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML with a radio button group — all three share name='traveltype'
String htmlContent = """
<html>
    <body>
        <h2>Editable PDF Form</h2>
        Choose your preferred travel type: <br>
        <input type='radio' name='traveltype' value='Bike'> Bike <br>
        <input type='radio' name='traveltype' value='Car'> Car <br>
        <input type='radio' name='traveltype' value='Airplane'> Airplane
    </body>
</html>
""";

// Render HTML — all three radio inputs become one grouped field in the PDF
PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save the document
pdfDoc.saveAs("radioButtonForm.pdf");
JAVA

Üç <input type="radio"> öğesi name="traveltype" özniteliğini paylaştığı için, IronPDF çıktı PDF'sinde tek bir AcroForm radyo grubu oluşturur. Örneğin, Acrobat Reader'da "Car" seçeneği seçildiğinde, alan değeri Car olarak ayarlanır ve önceki seçimler silinir. Bu davranış, web formlarındaki radyo grubu beklentileri ile paralel olup, webden PDF veri toplama geçişini doğal kılar.

Lütfen dikkate alınRadyo düğme grup isimleri tüm form boyunca benzersiz olmalıdır. Aynı adı farklı mantıksal gruplarda yeniden kullanmak, bağımsız seçimleri önleyen tek bir alana birleştirir.

PDF Form Oluşturma İçin En İyi Uygulamaları Nasıl Uygularım?

Güvenilir PDF formları, hem render yapılandırmasına hem de uzun vadeli sürdürülebilirliğe dikkat edilmesini gerektirir. En yaygın sorun, tarayıcıda doğru görünen ancak dönüştürme işleminden sonra etkileşimini yitiren formlardır; bu durum genellikle form öğelerinde name özniteliklerinin eksik olmasından kaynaklanır. Her alana mutlaka bir name atayın; IronPDF, bu değeri PDF alan tanımlayıcısı olarak kullanır ve isimsiz alanlar düşebilir veya birleştirilebilir.

Formları dağıtımdan önce birden fazla PDF görüntüleyicilerde test edin. Adobe Acrobat Reader referans uygulama olup, pek çok kurumsal ortam Foxit Reader veya tarayıcı tabanlı görüntüleyiciler dağıtır, bunların her biri kenar durumlarını hafifçe farklı şekilde ele alır. IronPdf'nin işleme sırasında desteklediği HTML5 doğrulama özniteliklerini (required, minlength, pattern) kullanarak, arka uçta değil, form doldurma sırasında veri kalitesi sorunlarını yakalayabilirsiniz. Hassas belgeler için, formun yetkisiz düzenlemelerden korunması için şifre ve güvenlik ayarlarını uygulayın.

Üretime dağıtırken, ilk oluşturma çağrısından önce lisans anahtarınızı ayarlayın ve bunu sabit kodlamak yerine güvenli bir yapılandırma deposunda saklayın. IronPDF, AWS, Azure ve Google Cloud ortamları için dağıtım kılavuzları yayınlar. Deneme ve üretim anahtarı davranışları hakkında ayrıntılar için lisans anahtarları kılavuzunu inceleyin.

İpuçlarıForm alan isimlerini kısa ve alfanumerik tutun. Bazı PDF okuyucuları boşluk veya özel karakter içeren alan isimlerini kesebilir veya reddedebilir, bu form veri çıkarımını bozabilir.

Java'da PDF Formları Oluşturmak İçin Sıradaki Adımlar Nelerdir?

Bu kılavuz, dört ana etkileşimli form alanı türünü — metin girişi, metin alanları, onay kutuları, kombobox'lar ve radyo düğmeleri — ve IronPDF'nin standart HTML form işaretlemesini tamamen etkileşimli PDF'lere nasıl dönüştürdüğünü kapsadı. Her alan türü doğrudan HTML karşılıklarına eşlenir, bu nedenle mevcut web form şablonları minimum değişiklikle yeniden kullanılabilir.

Buradan itibaren keşfetmeyi düşünebilirsiniz:

  • Form verilerini okuma ve işleme: Doldurulmuş bir PDF'den gönderilen değerleri çıkarmak için getForm() ve getFields() kullanın. Form veri örneği tam geri okuma iş akışını gösterir.
  • Formları programlı olarak önceden doldurun: Her alıcı için önceden doldurulmuş belgeler oluşturmak için form oluşturma ile PDF formlarını doldurma kılavuzu birleştirin.
  • Formlarınızı güvenlik altına alın: Şifre koruması ekleyin ve düzenleme kısıtlayın güvenlik ve meta veri ayarları örneğiyle.
  • Gelişmiş oluşturma: Kağıt boyutu, kenar boşlukları, başlıklar ve altbilgileri kontrol edin PDF oluşturma ayarları kılavuzuyla.

Ücretsiz denemenize başlayın ve form oluşturmayı ödemeli lisans olmadan test edin. Projeniz üretime hazır olduğunda, dağıtımınıza uygun olan plan için lisanslama seçeneklerine bakın.

IronPDF'nin başka neler yapabileceğini görmeye hazır mısınız? HTML'den PDF'ye tam dönüşüm öğreticisini burada inceleyin: Java'da HTML'den PDF'ye dönüşüm

Sıkça Sorulan Sorular

Java'da PDF formları oluşturmanın en kolay yolu nedir?

IronPDF for Java, standart HTML'den PDF formları oluşturur. ,