Ekstrak Data AcroForms

Mendapatkan Nilai dari Bidang Individual Dokumen PDF

Metode getValue() dari bidang formulir memungkinkan Anda untuk mendapatkan nilai dari bidang tertentu.

Untuk mendapatkan nilainya, ambil bidang formulir dari koleksi Form objek Document.

Contoh ini memilih TextBoxField dan mengambil nilainya menggunakan metode getValue().

package com.aspose.pdf.examples;

import com.aspose.pdf.Document;
import com.aspose.pdf.Field;
import com.aspose.pdf.TextBoxField;

public class ExamplesExtractFormData {
    private static String _dataDir = "/home/aspose/pdf-examples/Samples/Forms/";

    public static void GetValueFromIndividualFieldPDFDocument() {
        // Buka dokumen
        Document pdfDocument = new Document(_dataDir+"GetValueFromField.pdf");

        // Dapatkan bidang
        TextBoxField textBoxField = (TextBoxField) pdfDocument.getForm().get("textbox1");

        // Dapatkan nama bidang
        System.out.printf("PartialName :-" + textBoxField.getPartialName());

        // Dapatkan nilai bidang
        System.out.printf("Value :-" + textBoxField.getValue());
    }

Mendapatkan Nilai dari Semua Bidang dalam Dokumen PDF

Untuk mendapatkan nilai dari semua bidang dalam dokumen PDF, Anda perlu menavigasi melalui semua bidang formulir dan kemudian mendapatkan nilainya menggunakan metode getValue(). Dapatkan setiap bidang dari koleksi Form menggunakan objek Document metode getForm() dan dapatkan daftar bidang formulir ke dalam array Field menggunakan getFields() dan telusuri array untuk mendapatkan nilai dari bidang.

Cuplikan kode berikut menunjukkan cara mendapatkan nilai dari semua bidang dalam dokumen PDF.

    public static void GetValuesFromAllFieldsPDFDocument() {
        // Buka dokumen
        Document document = new Document(_dataDir + "GetValuesFromAllFields.pdf");

        Field[] fields = document.getForm().getFields();
        for (int i = 0; i < fields.length; i++) {

            System.out.println("Bidang formulir: " + fields[i].getFullName());
            System.out.println("Bidang formulir: " + fields[i].getValue());
        }

    }
}

Mendapatkan Bidang Formulir dari Wilayah Tertentu pada File PDF

Dalam beberapa kasus, diperlukan untuk mendapatkan data tidak dari seluruh formulir, tetapi, misalnya, hanya dari seperempat kiri atas dari lembar cetak. Dengan Aspose.PDF untuk Java, ini bukan masalah. Anda dapat menentukan wilayah untuk memfilter bidang yang berada di luar wilayah tertentu dari file PDF. Untuk mendapatkan bidang formulir dari area tertentu pada file PDF:

  1. Buka file PDF menggunakan objek Document.
  2. Dapatkan formulir dari koleksi Forms dokumen.
  3. Tentukan wilayah persegi panjang dan berikan ke metode getFieldsInRect dari objek Form. Koleksi Fields akan dikembalikan.
  4. Gunakan ini untuk memanipulasi bidang.

Cuplikan kode berikut menunjukkan cara mendapatkan bidang formulir dalam wilayah persegi panjang tertentu dari file PDF.

public static void GetValuesFromSpecificRegion() {
    // Buka file pdf
    Document doc = new Document(_dataDir + "GetFieldsFromRegion.pdf");

    // Buat objek persegi panjang untuk mendapatkan bidang dalam area tersebut
    Rectangle rectangle = new Rectangle(35, 30, 500, 500);

    // Dapatkan formulir PDF
    com.aspose.pdf.Form form = doc.getForm();

    // Dapatkan bidang dalam area persegi panjang
    Field[] fields = form.getFieldsInRect(rectangle);

    // Tampilkan nama dan nilai Field
    for (Field field : fields)
    {
        // Tampilkan properti penempatan gambar untuk semua penempatan
        System.out.println("Field Name: " + field.getFullName() + "-" + "Field Value: " + field.getValue());
    }
}