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.
- Buat sebuah fasad
Formdan mengikat PDF sumber. - Buka aliran masukan XML dan impor data ke dalam formulir.
- 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.
- Buat sebuah fasad
Formdan mengikat PDF sumber. - Buka aliran keluaran untuk file XML.
- 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.
- Buat sebuah fasad
Formdan mengikat PDF sumber. - Buka aliran input FDF dan impor data.
- 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.
- Buat sebuah fasad
Formdan mengikat PDF sumber. - Buka aliran output untuk file FDF.
- 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.
- Buat sebuah fasad
Formdan mengikat PDF sumber. - Buka aliran masukan XFDF dan impor nilai-nilai tersebut.
- 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.
- Buat sebuah fasad
Formdan mengikat PDF sumber. - Buka aliran keluaran untuk file XFDF.
- 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.
- Buka PDF dengan fasad
Form. - Iterasikan melalui nama-nama bidang dan serialisasikan nilai-nilainya ke dalam teks JSON.
- 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.
- Panggil helper ekstraksi JSON yang ada dengan PDF sumber dan jalur output.
- Gunakan kembali logika ekstraksi yang sama tanpa menduplikasi kode serialisasi.
public static void extractFormFieldsToJsonDoc(Path inputFile, Path outputFile) throws Exception {
extractFormFieldsToJson(inputFile, outputFile);
}