Siapkan Informasi Penguraian untuk Dokumen
Apa yang dibahas dalam panduan ini?
Siapkan Informasi Parse adalah pengaturan dasbor yang mengubah data mentah PDF ke dalam otomatis PDF ekstraksi dataAnda menentukan kunci tangkapan, menggambar zona pada dokumen sampel, dan menetapkan aturan ekstraksi untuk setiap kunci menggunakan salah satu cara berikut. Ekspresi Regex untuk pola yang stabil atau JavaScript Ekspresi untuk logika kondisional. Setelah disimpan, template yang sama akan dijalankan dari REST API, Make, Zapier, Power Automate, Dan n8n dengan merujuk pada ID Templat.
Memverifikasi Pengaturan Anda
Pembuatan templat parse terjadi di PDF4me Dasbor pengembang. Masuk dengan akun Anda, lalu buat atau salin sebuah API kunci untuk Mengurai Dokumen API panggilan yang menggunakan templat yang Anda buat di sini.
Fakta Penting yang Tidak Boleh Anda Lewatkan
ID Templat untuk templatnya. Selalu berikan ID Templat dalam produksi API panggilan. Nama Templat Cara ini juga berhasil, tetapi mengganti nama templat akan merusak otomatisasi apa pun yang merujuknya berdasarkan nama tersebut.Langkah 1: Buat templat parse
- Buka Dasbor Parse Dokumen.
- Klik Menambahkan dan masukkan nama templat yang jelas (misalnya,
invoiceatauvendor-statement). - Klik Menyimpan untuk membuat templat kosong.
- Buka templat di Edit mode untuk memulai konfigurasi tombol tangkap.

Langkah 2: Unggah sampel dan konfigurasikan kunci pengambilan data.
Dasbor menampilkan data yang diunggah. PDF di sebelah kanan dan menunjukkan Informasi Penguraian formulir di sebelah kiri. Gunakan sampel berbentuk produksi nyata, bukan file uji sintetis, sehingga area tangkapan sesuai dengan apa yang akan Anda lihat di lalu lintas langsung.
- Klik Unggah File Templat dan pilihlah contoh yang representatif (faktur, kontrak, formulir).
- Di bawah Kunci, klik + Untuk menambahkan tombol tangkap. Beri nama dalam format camelCase:
invoiceNumber,customerName,totalAmount. - Memilih Pilih jenis ekspresi untuk kuncinya:
Javascript ExpressionatauRegex Expression. - Tempelkan isi ekspresi ke dalam kolom yang muncul.
- Mengatur Halaman ke
alluntuk memindai setiap halaman, atau ke nomor halaman tertentu (1,2, dll.) untuk membatasi ruang lingkup. - Alihkan Cari di Seluruh Halaman Diaktifkan saat nilai tidak berada pada posisi tetap. Jika dimatikan, hanya area tangkapan yang digambar yang dicari.

Layar pengaturan Parse Document. Kiri: Formulir Info Parse dengan Kunci dan tipe ekspresi. Kanan: contoh yang diunggah. PDFTombol aksi dari kiri ke kanan: Unggah File Templat, Uji Parsing, Simpan Perubahan.
Langkah 3: Pilih jenis ekspresi per tombol
| Jenis Ekspresi | Terbaik untuk | Penggunaan umum | Kompleksitas |
|---|---|---|---|
| Regex Expression | Fixed text patterns | Invoice number, dates, totals, tax IDs, postal codes | Low |
| JavaScript Expression | Conditional and multi-rule extraction | Document classification, fallback logic, rule orchestration | Medium to High |
Pola Ekspresi Regex (dasar-dasar parser pdf regex)
Menggunakan Ekspresi Regex ketika medan memiliki bentuk yang stabil dan dapat diprediksi. Area yang ditangkap dipindai untuk mencari kecocokan pertama.
INV-\d{6,10}
\d{2}/\d{2}/\d{4}
\$?\d{1,3}(?:,\d{3})*(?:\.\d{2})?
Pemetaan kunci umum untuk faktur:
invoiceNumber→INV-\d{6,10}invoiceDate→\d{2}/\d{2}/\d{4}totalAmount→\$?\d{1,3}(?:,\d{3})*(?:\.\d{2})?
Pola yang sama juga berlaku untuk bidang yang sama dalam laporan vendor, pesanan pembelian, dan dokumen pengiriman karena nomor faktur, tanggal, dan jumlah memiliki bentuk yang sama di sebagian besar dokumen bisnis.
JavaScript Ekspresi untuk logika kondisional
Menggunakan JavaScript Ekspresi ketika output bergantung pada keberadaan atau kombinasi beberapa penanda dalam dokumen. PDF4me meneruskan teks yang diekstrak ke fungsi Anda sebagai variabel. textFungsi Anda mengevaluasi teks dan mengembalikan string yang menjadi nilai untuk kunci tersebut.
Contoh 1: mengklasifikasikan berdasarkan penanda konten
Membedakan dokumen Syarat dan Ketentuan dari dokumen Pesanan dengan memeriksa frasa penanda mana yang muncul:
function functionFormatTextDate1(text) {
console.log("Hello");
var term = [...text.matchAll(/General Terms and Conditions/gi)];
var order = [...text.matchAll(/your ordernumber/gi)];
if (term.length) {
if (order.length) {
return "Order document";
} else {
return "Terms and Conditions";
}
} else {
return "Not Terms and Conditions";
}
}
return functionFormatTextDate1(text);
Contoh 2: deteksi faktur vs pesanan
Sebuah pengklasifikasi singkat yang menentukan apakah dokumen tersebut adalah faktur atau pesanan berdasarkan keberadaan kata-kata tertentu. invoice Dan ordernumber:
function functionGetInvoiceOrder(text) {
// You get all PDF text in `text`
var invoice = [...text.matchAll(/invoice/gi)];
var order = [...text.matchAll(/ordernumber/gi)];
if (invoice.length) {
if (order.length) {
return "Order document";
} else {
return "invoice";
}
} else {
return "";
}
}
return functionGetInvoiceOrder(text);
Tips implementasi: Bungkus logika Anda dalam fungsi bernama dan panggil dengan kembalikan nama fungsi(teks); Di bagian bawah. Dasbor mengeksekusi isi ekspresi sebagai fungsi yang nilai kembaliannya pada akhirnya mengisi kunci tersebut.
Langkah 4: Uji Parsing dan Simpan Perubahan
Tombol aksi di bagian atas editor berurutan dari kiri ke kanan sesuai urutan penggunaannya:
- Unggah File Templat memuat sampel PDF Digunakan untuk menggambar area tangkapan.
- Tes Parse Menjalankan semua kunci terhadap sampel yang diunggah dan menampilkan nilai yang diekstrak secara langsung. Gunakan ini untuk memvalidasi setiap Regex atau JavaScript ekspresi sebelum menyimpan.
- Simpan Perubahan mempertahankan templat dan menetapkan nilai yang stabil. TemplateId (GUID). Salin GUID tersebut untuk digunakan di API panggilan dan platform otomatisasi.
Ulangi setiap kunci hingga Tes Parse Mengembalikan nilai yang diharapkan untuk setiap bidang. Persempit area tangkapan jika Anda melihat teks di sekitarnya, atau perbaiki ekspresi jika pencocokan pola terlalu longgar.
Gunakan templat di API atau panggilan otomatisasi
Sekali Simpan Perubahan menugaskan TemplateIdDengan demikian, template parse yang sama dapat dijalankan di mana saja melalui referensi. Anda tidak perlu membuat ulang konfigurasi di setiap platform.
| Bidang | Sumber | Tujuan |
|---|---|---|
TemplateId | GUID ditampilkan di panel detail templat setelah disimpan. | Pengidentifikasi stabil untuk otomatisasi produksi. Selalu lebih memilih ini daripada TemplateName. |
TemplateName | Nama yang Anda ketik di Langkah 1 | Alternatif untuk pencarian. Mengganti nama templat akan merusak panggilan yang merujuknya berdasarkan nama. |
ParseId | GUID yang Anda hasilkan di sisi klien (satu per panggilan) | Menghubungkan permintaan Anda dengan output parse, berguna untuk pencatatan dan jejak audit. |
docName | Sumber PDF nama file | Digunakan untuk pelacakan dan pesan kesalahan. |
docContent | Sumber PDF dikodekan sebagai Base64 | Berkas yang akan diurai. |
async | false untuk sinkron, true untuk jajak pendapat | Mengontrol penyampaian respons. |
Contoh REST Isi permintaan:
{
"docName": "invoice.pdf",
"docContent": "BASE64_ENCODED_PDF_CONTENT",
"TemplateId": "12345678-1234-1234-1234-123456789abc",
"ParseId": "87654321-4321-4321-4321-cba987654321",
"async": false
}
Respons tersebut berisi satu kolom untuk setiap kunci yang Anda definisikan dalam templat. Arahkan respons tersebut. JSON ke node hilir mana pun: Google Sheets, Airtable, basis data, Excel, atau webhook.
Alur kerja umum
Pola templat parse tipikalHow a saved parse template moves from dashboard to production.
- Faktur vendor PDF tiba di folder email atau cloud yang dipantau.
- Make, Zapier, Power Automate, atau n8n memanggil Parse Document dengan milik Anda TemplateId.
- Struktur JSON output (invoiceNumber, totalAmount, invoiceDate) ditambahkan sebagai baris di Google Sheets atau Excel.
- Bagian akuntansi meninjau dan menyetujui langsung dari spreadsheet.
- Seorang pelanggan mengunggah formulir yang telah diisi. PDF formulir melalui portal Anda.
- Backend Anda memanggil Parse Document dengan TemplateId dan Base64 PDF.
- yang diuraikan JSON dipetakan ke dalam perintah INSERT basis data, dengan satu kolom per kunci templat.
- Email konfirmasi akan dikirimkan kembali kepada pelanggan menggunakan nama dan nomor referensi yang telah diuraikan.
- Satu folder yang dipantau menerima berbagai macam dokumen (faktur, pesanan, kontrak).
- A JavaScript Kunci ekspresi dalam templat mengembalikan tipe dokumen (lihat Contoh 2 di atas).
- Alur kerja Anda mengarahkan setiap file ke sistem hilir yang tepat berdasarkan tipe yang dikembalikan.
- Berkas yang diidentifikasi sebagai faktur melanjutkan ekstraksi bidang berbasis Regex dalam panggilan templat yang sama.
Praktik terbaik konfigurasi templat
- Gambarlah area tangkapan yang sedikit lebih besar daripada nilai yang diharapkan agar pergeseran font atau posisi tidak mendorong nilai tersebut keluar dari bingkai.
- Pertahankan konsistensi nama kunci dalam format camelCase di seluruh templat agar pemetaan selanjutnya di spreadsheet, basis data, dan webhook tetap dapat diprediksi.
- Uji setiap kunci terhadap setidaknya tiga sampel nyata, termasuk kasus-kasus khusus seperti kolom opsional yang hilang, faktur halaman kedua, dan OCR-teks yang diperoleh dari hasil pemindaian PDFs.
- Menggunakan JavaScript Ekspresi hanya digunakan jika Regex tidak dapat mengekspresikan aturan. Menjaga logika tetap sederhana membuat template lebih mudah untuk di-debug.
- Buat versi templat Anda berdasarkan nama (
invoice-v1,invoice-v2) saat melakukan perubahan yang merusak, sehingga otomatisasi produksi dapat bermigrasi dengan kecepatannya sendiri. - Jalankan pemindaian PDFs melalui OCR pertama (yang PDF4me OCR (titik akhir) sebelum diurai. Templat diekstrak dari lapisan teks, yang dipindai PDFs tidak punya sampai OCR diterapkan.