Ekstrak Data dari AcroForm menggunakan Python
Ekstrak bidang formulir dari dokumen PDF
Form dari aspose.pdf.facades namespace menyediakan cara yang sederhana untuk membaca data bidang AcroForm tanpa membuka model objek dokumen secara lengkap. Iterasi atas form.field_names untuk mendapatkan setiap nama bidang yang ada dalam formulir, kemudian panggil form.get_field(name) untuk mengambil nilai saat ini.
- Bangun sebuah
Formobjek dengan melewatkan jalur file input. - Iterasi atas
form.field_namesuntuk mendaftar semua nama bidang. - Panggil
form.get_field(name)untuk setiap nama dan simpan hasilnya dalam kamus.
import aspose.pdf as apdf
from io import FileIO
from os import path
import json
from aspose.pycore import cast, is_assignable
path_infile = self.dataDir + infile
form = apdf.facades.Form(path_infile)
form_values = {}
# Get values from all fields
for formField in form.field_names:
# Analyze names and values if needed
form_values[formField] = form.get_field(formField)
print(form_values)
Ambil nilai bidang formulir berdasarkan judul
Ketika Anda mengetahui nama bidang (title) yang tepat yang didefinisikan dalam formulir PDF, Anda dapat mengambil nilainya secara langsung dengan form.get_field(name) tanpa iterasi seluruh koleksi bidang. Ini adalah pendekatan tercepat ketika hanya bidang tertentu yang diperlukan.
- Bangun sebuah Form objek dengan jalur file input.
- Panggil
form.get_field("FieldName")menggunakan judul bidang yang persis seperti yang muncul di PDF. - Gunakan nilai string yang dikembalikan sesuai kebutuhan dalam aplikasi Anda.
import aspose.pdf as apdf
form = apdf.facades.Form(path_infile)
# Retrieve a single field value by its name
value = form.get_field("FirstName")
print(value)
Ekstrak bidang formulir dari dokumen PDF ke JSON
Ada dua cara untuk mengekspor data AcroForm ke JSON. Yang pertama menggunakan built-in export_json metode pada Form, yang menserialisasi semua data field secara langsung ke aliran file dalam satu panggilan.
- Bangun sebuah
Formobjek dengan jalur file input. - Buka file output sebagai aliran biner menggunakan
FileIO. - Panggil
form.export_json(stream, True)untuk menulis output JSON.
import aspose.pdf as apdf
from io import FileIO
from os import path
path_infile = path.join(self.dataDir, infile)
path_outfile = path.join(self.dataDir, outfile)
form = apdf.facades.Form(path_infile)
with FileIO(path_outfile, "w") as json_file:
form.export_json(json_file, True)
Pendekatan kedua membangun kamus Python dari field_names dan get_field, lalu menyerialkannya dengan json.dumps. Gunakan ini ketika Anda perlu mengubah atau memfilter data sebelum menulisnya.
- Iterasi atas
form.field_namesdan mengisi kamus dengan nilai bidang. - Serialisasi kamus dengan
json.dumps(form_data, indent=4). - Tuliskan string JSON yang dihasilkan ke file output.
import aspose.pdf as apdf
from os import path
import json
path_infile = path.join(self.dataDir, infile)
path_outfile = path.join(self.dataDir, outfile)
form = apdf.facades.Form(path_infile)
form_data = {}
# Get values from all fields
for formField in form.field_names:
form_data[formField] = form.get_field(formField)
# Serialize to JSON
json_string = json.dumps(form_data, indent=4)
print(json_string)
with open(path_outfile, "w", encoding="utf-8") as json_file:
json_file.write(json_string)
Ekstrak Data ke XML dari File PDF
Ekspor XML berguna untuk mengintegrasikan data formulir PDF dengan sistem yang mengonsumsi umpan XML terstruktur atau skema. The Form kelas menyediakan export_xml untuk menangani konversi dalam satu langkah.
- Buat sebuah
Forminstans dan ikat PDF denganform.bind_pdf(path). - Buka file keluaran sebagai aliran biner.
- Panggil
form.export_xml(stream)menulis semua data bidang sebagai XML.
import aspose.pdf as apdf
from io import FileIO
from os import path
path_infile = path.join(self.dataDir, infile)
path_outfile = path.join(self.dataDir, outfile)
# Create Form object
form = apdf.facades.Form()
# Bind PDF document
form.bind_pdf(path_infile)
# Export data to XML file
with FileIO(path_outfile, "w") as f:
form.export_xml(f)
Ekspor Data ke FDF dari File PDF
FDF (Forms Data Format) adalah format pertukaran standar untuk data AcroForm dan secara luas didukung oleh penampil PDF serta alat pemrosesan. Gunakan export_fdf pada Form kelas untuk menghasilkan file FDF mandiri yang dapat diimpor kembali ke PDF asli atau formulir kompatibel lainnya.
- Buat sebuah
Forminstance dan mengikat PDF sumber denganform.bind_pdf(path). - Buka file keluaran sebagai aliran biner.
- Panggil
form.export_fdf(stream)untuk menulis data FDF.
import aspose.pdf as apdf
from io import FileIO
from os import path
path_infile = path.join(self.dataDir, infile)
path_outfile = path.join(self.dataDir, outfile)
# Create Form object
form = apdf.facades.Form()
# Bind PDF document
form.bind_pdf(path_infile)
# Export form data to an FDF file
with FileIO(path_outfile, "w") as f:
form.export_fdf(f)
Ekspor Data ke XFDF dari File PDF
XFDF (XML Forms Data Format) adalah penerus berbasis XML untuk FDF dan lebih cocok untuk digunakan dalam layanan web dan alur data modern. Seperti FDF, file XFDF dapat diimpor kembali ke dalam formulir PDF yang kompatibel. Gunakan export_xfdf pada Form kelas untuk menghasilkan keluaran.
- Buat sebuah
Forminstance dan mengikat PDF sumber denganform.bind_pdf(path). - Buka file keluaran sebagai aliran biner.
- Panggil
form.export_xfdf(stream)untuk menulis data XFDF.
import aspose.pdf as apdf
from io import FileIO
from os import path
path_infile = path.join(self.dataDir, infile)
path_outfile = path.join(self.dataDir, outfile)
# Create Form object
form = apdf.facades.Form()
# Bind PDF document
form.bind_pdf(path_infile)
# Export form data to an XFDF file
with FileIO(path_outfile, "w") as f:
form.export_xfdf(f)