PDF Formu Java'yı doldurun

Bu modern zamanlarda, formlar kullanılarak çok fazla veri toplanmaktadır ve doldurulabilir PDF formları bu bağlamda anılmaya değerdir. Bilgi toplamanın ve düzenlemenin etkili bir yoludur. Ayrıca doldurulabilir PDF formları artık farklı kurumlar tarafından standart olarak kullanılmaya başlandı. Örneğin, bazı mahkemeler veya bir satın alma firması, prosedürlerini standart hale getirmek için doldurulabilir PDF formlarını verimli bir şekilde kullanabilir. Bu tür uygulamaları oluşturmak için Aspose.PDF for Java API en uygun API’dir. Nedenini merak mı ediyorsunuz? PDF formlarıyla programlı olarak çalışacağımız aşağıdaki kullanım örneklerini keşfedelim.

Kurulum

Java uygulamalarınızı zenginleştirmek ve PDF belgelerini işlemesini sağlamak için API’yi yapılandırabileceğiniz Yeni Sürümler bölümüne gidebilir veya Maven uygulamanızda bağımlılığı aşağıdaki gibi tanımlayabilirsiniz:

Depo:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository

Bağımlılık:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.7</version>
</dependency>

API’yi başarıyla yapılandırdıktan sonra, aşağıdaki kullanım durumlarına geçelim:

Java Kullanarak Doldurulabilir PDF Formları Oluşturun

Aşağıdaki adımları izleyerek Java uygulamalarında doldurulabilir PDF formu oluşturabilirsiniz:

  1. Boş sayfalı bir PDF dosyası oluşturun
  2. Sayfaya TextBox alanı ve RadioButton alanı ekleyin
  3. Çıktı PDF dosyasını kaydedin

Aşağıdaki kod parçacığı, Java kullanılarak sıfırdan doldurulabilir bir PDF formunun nasıl oluşturulacağını gösterir:

com.aspose.pdf.Document pdfdoc = new com.aspose.pdf.Document();
com.aspose.pdf.Page page = pdfdoc.getPages().add();
TextBoxField nameBox = new TextBoxField(pdfdoc, new com.aspose.pdf.Rectangle(275, 740, 440, 770));
nameBox.setPartialName("nameBox1");
nameBox.getDefaultAppearance().setFontSize(10);
nameBox.setMultiline(true);
com.aspose.pdf.Border nameBorder = new com.aspose.pdf.Border(nameBox);
nameBorder.setWidth(1);
nameBox.setBorder(nameBorder);
nameBox.getCharacteristics().setBorder(java.awt.Color.BLACK);
nameBox.setColor(com.aspose.pdf.Color.fromRgb(Color.RED));
TextBoxField mrnBox = new TextBoxField(pdfdoc, new com.aspose.pdf.Rectangle(275, 718, 440, 738));
mrnBox.setPartialName("Box1");
mrnBox.getDefaultAppearance().setFontSize(10);
com.aspose.pdf.Border mrnBorder = new com.aspose.pdf.Border(mrnBox);
mrnBorder.setWidth(1);
mrnBox.setBorder(mrnBorder);
mrnBox.getCharacteristics().setBorder(java.awt.Color.BLACK);
mrnBox.setColor(com.aspose.pdf.Color.fromRgb(Color.RED));
// PDF belgesinin ilk sayfasına form alanları ekleyin            
pdfdoc.getForm().add(nameBox, 1);
pdfdoc.getForm().add(mrnBox, 1);

//PDF'de belirli konum koordinatlarına Radyo düğmeleri ekleyin
com.aspose.pdf.Table table = new com.aspose.pdf.Table();
//Konumu burada ayarla
table.setLeft(200);
table.setTop(300);
table.setColumnWidths("120");
page.getParagraphs().add(table);
com.aspose.pdf.Row r1 = table.getRows().add();
com.aspose.pdf.Row r2 = table.getRows().add();
com.aspose.pdf.Cell c1 = r1.getCells().add();
com.aspose.pdf.Cell c2 = r2.getCells().add();
com.aspose.pdf.RadioButtonField rf = new com.aspose.pdf.RadioButtonField(page);
rf.setPartialName("radio");
pdfdoc.getForm().add(rf, 1);
com.aspose.pdf.RadioButtonOptionField opt1 = new com.aspose.pdf.RadioButtonOptionField();
com.aspose.pdf.RadioButtonOptionField opt2 = new com.aspose.pdf.RadioButtonOptionField();
opt1.setOptionName("Yes");
opt2.setOptionName("No");
opt1.setWidth(15);
opt1.setHeight(15);
opt2.setWidth(15);
opt2.setHeight(15);
rf.add(opt1);
rf.add(opt2);
opt1.setBorder(new com.aspose.pdf.Border(opt1));
opt1.getBorder().setWidth(1);
opt1.getBorder().setStyle(com.aspose.pdf.BorderStyle.Solid);
opt1.getCharacteristics().setBorder(java.awt.Color.BLACK);
opt1.getDefaultAppearance().setTextColor(java.awt.Color.RED);
opt1.setCaption(new com.aspose.pdf.TextFragment("Yes"));
opt2.setBorder(new com.aspose.pdf.Border(opt1));
opt2.getBorder().setWidth(1);
opt2.getBorder().setStyle(com.aspose.pdf.BorderStyle.Solid);
opt2.getCharacteristics().setBorder(java.awt.Color.BLACK);
opt2.getDefaultAppearance().setTextColor(java.awt.Color.RED);
opt2.setCaption(new com.aspose.pdf.TextFragment("No"));
c1.getParagraphs().add(opt1);
c2.getParagraphs().add(opt2);
pdfdoc.save(dataDir + "Fillable_PDF_Form.pdf");

Java kullanarak Mevcut PDF’deki Form Alanlarını Doldurun, Değiştirin veya Silin

Sıfırdan doldurulabilir yeni bir PDF dosyası oluşturmayı öğrendik. Mevcut PDF belgelerinin işlendiği senaryolara geçelim:

i) Java kullanarak Mevcut PDF dosyasındaki bir Form Alanını doldurun

Yukarıdaki örnekte PDF formunu oluşturduğumuz gibi, aynı belgeyle devam edelim ve form alanlarını programlı olarak Java kullanarak dolduralım. Oluşturulan formu aşağıdaki adımlarla doldurabilirsiniz:

  1. Giriş dosyasını yükle
  2. TextBox alanındaki değerleri doldurun
  3. Bir seçenek belirleyerek RadioButton alanlarını doldurun
  4. PDF formunu kaydet

Aşağıdaki kod parçacığı, doldurulabilir formların Java kullanılarak nasıl doldurulacağını gösterir:

// Belgeyi aç
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fillable_PDF_Form.pdf");

// alanları al
TextBoxField textBoxField1 = (TextBoxField) pdfDocument.getForm().get("nameBox1");
TextBoxField textBoxField2 = (TextBoxField) pdfDocument.getForm().get("Box1");
// Form alanlarının değerlerini doldurun
textBoxField1.setValue("A quick brown fox jumped over a lazy dog.");
textBoxField2.setValue("A quick brown fox jumped over a lazy dog.");

// Radyo düğmesi alanını al
RadioButtonField radioField = (RadioButtonField) pdfDocument.getForm().get("radio");
// Gruptan radyo düğmesinin dizinini belirtin
radioField.setSelected(1);

dataDir = dataDir + "Fill_PDF_Form_Field.pdf";
// Güncellenen belgeyi kaydet
pdfDocument.save(dataDir);

ii) Java kullanarak PDF Belgesindeki Form Alanını Değiştirme

Bazen bir PDF formundaki alan değerlerini düzenlememiz veya güncellememiz gerekir. Doldurulabilir bir PDF formunu aşağıdaki adımlarla kolayca düzenleyebilirsiniz:

  1. Giriş PDF’sini başlat
  2. Adına göre form alanına bir başvuru alın
  3. PDF formunu düzenleyin
  4. Düzenlenmiş PDF formunu kaydet

Aşağıdaki kod parçacığı, Java kullanılarak doldurulabilir bir PDF dosyasının nasıl güncelleneceğini veya düzenleneceğini gösterir:

// Belgeyi aç
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// bir alan al
TextBoxField textBoxField = (TextBoxField) pdfDocument.getForm().get("nameBox1");
// Alan değerini değiştir
textBoxField.setValue("Changed Value");
textBoxField.setReadOnly(true);
dataDir = dataDir + "ModifyFormField.pdf";
// Güncellenen belgeyi kaydet
pdfDocument.save(dataDir);

iii) Java Kullanarak Mevcut PDF Dosyasındaki Bir Form Alanını Silme

Java uygulamalarınızda bir form alanını kolayca kaldırabilir veya silebilirsiniz. Aşağıdaki adımları takip edebilirsiniz:

  1. Bir PDF formunu başlat
  2. Adını kullanarak form alanını silin
  3. Güncellenmiş PDF formunu kaydet

Aşağıdaki kod parçacığı, Java kullanılarak bir form alanının PDF formundan nasıl silineceğini gösterir:

// Belgeyi aç
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// Ada göre belirli bir alanı silin
pdfDocument.getForm().delete("nameBox1");
dataDir = dataDir + "Delete_Form_Field.pdf";
// Değiştirilen belgeyi kaydet
pdfDocument.save(dataDir);

Java kullanarak PDF Formlarının Genişletilmiş Haklarını Koruyun

Bazı PDF formlarının genişletilmiş haklara sahip olduğunu fark edebilirsiniz. Orijinal içerikte değişiklik yapılmasını önlemek için kullanılırlar ve sadece formların doldurulmasına izin verilir. PDF dosyalarının genişletilmiş hakları şu durumlarda etkilenebilir:

Böyle bir formu doldurup diskin farklı yerlerine kaydediyorsunuz. Bu nedenle, bu tür dosyaları aşağıdaki adımlarla aşamalı olarak kaydetmemiz gerekir:

  1. PDF formunu başlat
  2. alanları doldurun
  3. Doldurulmuş PDF belgesini kaydedin

Aşağıdaki kod parçacığı, Java kullanarak PDF formunu doldururken genişletilmiş hakların nasıl korunacağını gösterir:

// Belge örneği örneği
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// Tüm alanlardan değerleri al
for (com.aspose.pdf.Field formField : pdfDocument.getForm().getFields())
{
    // Alanın tam adı nameBox1 içeriyorsa, işlemi gerçekleştirin
    if (formField.getFullName().contains("nameBox1"))
    {
        // Form alanını TextBox olarak yayınla
        TextBoxField textBoxField = (TextBoxField) formField;
        // Alan değerini değiştir
        textBoxField.setValue("Preserve Extended Features");
    }
}
// Güncellenen belgeyi kaydedin
pdfDocument.save();

Java kullanarak PDF Formunda JavaScript kullanın

Aspose.PDF for Java ile Javascript kullanarak doldurulabilir PDF form alanlarını doldurabilirsiniz. Aşağıdaki adımları izlemelisiniz:

  1. PDF belgesini yükle
  2. Belirli sayfa konumuna bir alan ekleyin
  3. JavaScript’i ayarlayın ve belge için eylemi açın PDF dosyasını kaydedin

Aşağıdaki kod parçacığı, JavaScript’in doldurulabilir PDF formlarında nasıl kullanılacağını gösterir:

com.aspose.pdf.Document pdfdoc = new com.aspose.pdf.Document();
pdfdoc.getPages().add();
TextBoxField textBoxField = new TextBoxField(pdfdoc.getPages().get_Item(1), new com.aspose.pdf.Rectangle(85, 750, 215, 770));
textBoxField.setPartialName("textbox1");
textBoxField.setValue("Text Box");
//TextBoxField.Border = yeni Kenarlık();
com.aspose.pdf.Border border = new com.aspose.pdf.Border(textBoxField);
border.setWidth(2);
border.setDash(new com.aspose.pdf.Dash(1, 1));
textBoxField.setBorder(border);
textBoxField.getDefaultAppearance().setFontSize(10);
textBoxField.setColor(com.aspose.pdf.Color.fromRgb(java.awt.Color.GREEN));
// Belgeye alan ekle
pdfdoc.getForm().add(textBoxField, 1);
String JS = "var w = this.getField('" + textBoxField.getPartialName() + "'); var today = new Date(); w.value = today.toLocaleString();";
pdfdoc.setOpenAction(new com.aspose.pdf.JavascriptAction(JS));
pdfdoc.save(dataDir + "JS_Form.pdf");

Çözüm

Doldurulabilir PDF formları oluşturmanın yanı sıra Java ortamını kullanarak form alanlarını doldurmayı veya düzenlemeyi öğrendik. Ayrıca, bir PDF belgesi eyleminde JavaScript kullanmaya ek olarak PDF belgelerinde genişletilmiş hakları korumayı da araştırdık. Herhangi bir endişe veya sorun olması durumunda lütfen Ücretsiz Destek Forumu üzerinden bizimle iletişime geçmekten çekinmeyin.

Ayrıca bakınız