Mengimpor dan mengekspor data Form

Aspose.PDF for Java mendukung beberapa format pertukaran data umum untuk formulir interaktif.

Mengimpor data Form dari XML

Gunakan contoh ini ketika nilai formulir disimpan dalam file XML dan harus diterapkan ke formulir PDF.

  1. Buat sebuah fasad Form dan mengikat PDF sumber.
  2. Buka aliran masukan XML dan impor data ke dalam formulir.
  3. Simpan dokumen PDF yang diperbarui.
public static void importDataFromXml(Path inputFile, Path dataFile, Path outputFile) throws Exception {
    Form form = new Form();
    try (InputStream stream = Files.newInputStream(dataFile)) {
        form.bindPdf(inputFile.toString());
        form.importXml(stream);
        form.save(outputFile.toString());
    } finally {
        form.close();
    }
}

Mengekspor data formulir ke XML

Gunakan contoh ini ketika Anda perlu menyimpan nilai AcroForm saat ini dalam format XML.

  1. Buat sebuah fasad Form dan mengikat PDF sumber.
  2. Buka aliran keluaran untuk file XML.
  3. Ekspor data formulir ke XML.
public static void exportDataToXml(Path inputFile, Path outputFile) throws Exception {
    Form form = new Form();
    try (OutputStream stream = Files.newOutputStream(outputFile)) {
        form.bindPdf(inputFile.toString());
        form.exportXml(stream);
    } finally {
        form.close();
    }
}

Mengimpor data formulir dari FDF

Gunakan contoh ini ketika nilai formulir tiba dalam format pertukaran FDF.

  1. Buat sebuah fasad Form dan mengikat PDF sumber.
  2. Buka aliran input FDF dan impor data.
  3. Simpan dokumen PDF yang telah diisi.
public static void importDataFromFdf(Path inputFile, Path dataFile, Path outputFile) throws Exception {
    Form form = new Form();
    try (InputStream stream = Files.newInputStream(dataFile)) {
        form.bindPdf(inputFile.toString());
        form.importFdf(stream);
        form.save(outputFile.toString());
    } finally {
        form.close();
    }
}

Mengekspor data formulir ke FDF

Gunakan contoh ini ketika nilai formulir PDF harus dibagikan sebagai file FDF.

  1. Buat sebuah fasad Form dan mengikat PDF sumber.
  2. Buka aliran output untuk file FDF.
  3. Ekspor data formulir dalam format FDF.
public static void exportDataToFdf(Path inputFile, Path outputFile) throws Exception {
    Form form = new Form();
    try (OutputStream stream = Files.newOutputStream(outputFile)) {
        form.bindPdf(inputFile.toString());
        form.exportFdf(stream);
    } finally {
        form.close();
    }
}

Mengimpor data formulir dari XFDF

Gunakan contoh ini ketika data formulir disediakan dalam format XFDF dan harus digabungkan ke dalam PDF.

  1. Buat sebuah fasad Form dan mengikat PDF sumber.
  2. Buka aliran masukan XFDF dan impor nilai-nilai tersebut.
  3. Simpan dokumen PDF yang diperbarui.
public static void importDataFromXfdf(Path inputFile, Path dataFile, Path outputFile) throws Exception {
    Form form = new Form();
    try (InputStream stream = Files.newInputStream(dataFile)) {
        form.bindPdf(inputFile.toString());
        form.importXfdf(stream);
        form.save(outputFile.toString());
    } finally {
        form.close();
    }
}

Mengekspor data formulir ke XFDF

Gunakan contoh ini ketika Anda membutuhkan file pertukaran berbasis XML untuk nilai AcroForm.

  1. Buat sebuah fasad Form dan mengikat PDF sumber.
  2. Buka aliran keluaran untuk file XFDF.
  3. Ekspor nilai formulir saat ini ke XFDF.
public static void exportDataToXfdf(Path inputFile, Path outputFile) throws Exception {
    Form form = new Form();
    try (OutputStream stream = Files.newOutputStream(outputFile)) {
        form.bindPdf(inputFile.toString());
        form.exportXfdf(stream);
    } finally {
        form.close();
    }
}

Mengekstrak bidang formulir ke JSON

Gunakan contoh ini ketika nilai formulir harus diekspor ke representasi JSON ringan.

  1. Buka PDF dengan fasad Form.
  2. Iterasikan melalui nama-nama bidang dan serialisasikan nilai-nilainya ke dalam teks JSON.
  3. Tuliskan konten JSON ke file target.
public static void extractFormFieldsToJson(Path inputFile, Path outputFile) throws Exception {
    Form form = new Form(inputFile.toString());
    try {
        StringBuilder json = new StringBuilder();
        json.append("{\n");
        String[] fieldNames = form.getFieldNames();
        for (int i = 0; i < fieldNames.length; i++) {
            String fieldName = fieldNames[i];
            json.append("    \"").append(escapeJson(fieldName)).append("\": \"")
                    .append(escapeJson(form.getField(fieldName))).append("\"");
            if (i < fieldNames.length - 1) {
                json.append(",");
            }
            json.append("\n");
        }
        json.append("}\n");
        Files.writeString(outputFile, json.toString());
    } finally {
        form.close();
    }
}

Menggunakan kembali pembantu ekstraksi JSON

Gunakan contoh ini ketika Anda ingin metode pembungkus khusus yang mendelegasikan ke rutinitas ekspor JSON utama.

  1. Panggil helper ekstraksi JSON yang ada dengan PDF sumber dan jalur output.
  2. Gunakan kembali logika ekstraksi yang sama tanpa menduplikasi kode serialisasi.
public static void extractFormFieldsToJsonDoc(Path inputFile, Path outputFile) throws Exception {
    extractFormFieldsToJson(inputFile, outputFile);
}