𝗕𝗲𝗿𝗵𝗲𝗻𝘁𝗶 𝗠𝗲𝗹𝗮𝗸𝘂𝗸𝗮𝗻 𝗣𝗮𝗿𝘀𝗶𝗻𝗴 𝗣𝗗𝗙 𝗽𝗮𝗱𝗮 𝗪𝗮𝗸𝘁𝘂 𝗥𝗲𝗻𝗱𝗲𝗿

Kebanyakan alat pengekstrakan PDF frontend gagal.

Pembangun cuba meneka struktur dokumen daripada output visual. Mereka melihat piksel yang telah dirender untuk mencari lajur, jadual, atau senarai. Mereka menggunakan penglihatan komputer atau kedekatan piksel untuk menentukan di mana sesuatu kotak bermula.

Ini adalah cara pembinaan yang salah.

PDF sudah pun mengandungi data struktur eksplisit dalam aliran operatornya. Sebuah jadual bukan sekadar sekumpulan piksel yang berdekatan. Ia dilukis dengan arahan khusus seperti moveTo, lineTo, atau rectangle. Sempadan yang ingin anda cari sudah pun dikodkan dalam sumbernya.

Jika pengekstrak anda memberikan lajur yang berbeza pada zum 100% berbanding zum 150%, anda tidak sedang mengekstrak struktur. Anda hanya sedang memadankan corak artifak visual.

Berhenti menggunakan heuristik visual. Mula melakukan parsing pada aliran operator.

Mengapa aliran operator lebih baik:

Jalan yang sukar adalah jalan yang betul.

Anda mesti memahami timbunan CTM. Anda mesti menjejaki keadaan matriks dan mengelaskan sublaluan (subpaths). Anda perlu membaca spesifikasi PDF dan kod sumber untuk menguasainya.

Ini memerlukan lebih banyak usaha pada peringkat awal. Tetapi ia berfungsi untuk setiap PDF yang dimuat naik oleh pengguna. Alat berasaskan piksel hanya berfungsi untuk beberapa fail dalam set ujian anda.

Bina pengekstrak yang sebenar, bukan sekadar demo.

Sumber: https://dev.to/bonzai2carn/stop-parsing-pdfs-at-render-time-a-better-architecture-for-structured-extraction-5fb8