Paperless-ngx: เปลี่ยนเอกสารสแกนให้ค้นหาได้ด้วย OCR บนเครื่องตัวเอง
ทำคลังเอกสารด้วย Paperless-ngx ตั้งโฟลเดอร์รับไฟล์ OCR ภาษาไทย สิทธิ์ไฟล์ และแผนสำรองก่อนสแกนเอกสารจริง
Paperless-ngx เป็นระบบจัดเก็บเอกสารโอเพนซอร์สที่รับไฟล์จากโฟลเดอร์หรือช่องทางอื่น แปลงเนื้อหาให้ค้นหาได้ด้วย OCR แล้วจัดหมวดตามข้อมูลประกอบ เหมาะกับใบเสร็จ สัญญา คู่มือ และเอกสารในบ้านหรือสำนักงานขนาดเล็ก แต่การสแกนเอกสารสำคัญควรเริ่มจากกระบวนการตรวจไฟล์และสำรองข้อมูล ไม่ใช่เพียงเปิดหน้าเว็บได้
ออกแบบเส้นทางของเอกสาร
เริ่มจากกำหนดโฟลเดอร์ consume เป็นจุดรับไฟล์, media เก็บต้นฉบับและไฟล์ที่ระบบสร้าง, data เก็บดัชนีหรือข้อมูลภายใน และฐานข้อมูลตามรูปแบบติดตั้งที่เลือก แนะนำ PostgreSQL สำหรับการติดตั้งใหม่ตาม คู่มือ Setup ถ้าใช้ Docker Compose ให้เลือกตัวอย่างจากโครงการและดาวน์โหลดไฟล์ environment ที่จับคู่กัน อย่าคัดลอก Compose จากรุ่นเก่ามาโดยไม่ตรวจ service และ volume
วางโฟลเดอร์รับไฟล์ในจุดที่สแกนเนอร์หรือผู้ใช้ส่งเข้าได้ แต่ไม่ควรเปิดเป็นโฟลเดอร์สาธารณะที่ใครก็ใส่ไฟล์ได้ เลือกชื่อไฟล์และกระบวนการรับเอกสารที่ทีมทำซ้ำได้ เช่น สแกน PDF 300 dpi แล้วหย่อนใน consume; ทดสอบกับสำเนาเอกสารก่อนนำต้นฉบับจริงเข้าระบบ
ติดตั้งและตรวจผล
- เตรียม Docker และ Compose ดาวน์โหลดชุดตัวอย่างจาก เอกสารติดตั้ง และแก้ bind mount ให้ชี้ไปยังโฟลเดอร์ถาวร
- ตั้งค่า UID/GID ของผู้ใช้บนเครื่องให้ตรงกับสิทธิ์โฟลเดอร์ ถ้าไฟล์เข้าแต่ไม่ถูกนำไปประมวลผล ให้ตรวจสิทธิ์เขียนและลบใน
consume - ตั้งค่าภาษา OCR ตามเอกสาร Configuration และตรวจว่า language pack ที่ต้องการมีในคอนเทนเนอร์จริง สำหรับเอกสารหลายภาษาให้ทดสอบคุณภาพด้วยชุดตัวอย่าง
- รัน
docker compose pullและdocker compose up -dเปิดเว็บบนพอร์ตที่กำหนด สร้างบัญชีผู้ดูแล แล้วอัปโหลดไฟล์ตัวอย่าง - ตรวจว่าค้นหาคำที่อยู่ในภาพสแกนได้ และดู
docker compose logs -fถ้าไฟล์ยังค้างในโฟลเดอร์รับ
ถ้าโฟลเดอร์ consume อยู่บน NFS หรือระบบไฟล์ที่ไม่มี inotify โปรแกรมอาจไม่เห็นไฟล์ใหม่ตามปกติ เอกสารแนะนำ PAPERLESS_CONSUMER_POLLING_INTERVAL เพื่อให้ตรวจโฟลเดอร์เป็นรอบ นี่เป็นตัวอย่างที่ต้องตรวจจากพฤติกรรมจริง ไม่ใช่ดูสถานะ container อย่างเดียว
การจัดหมวดและความปลอดภัย
เริ่มจาก correspondent, document type และ tag เท่าที่จำเป็น เช่น ผู้ส่งเอกสาร, ประเภทใบเสร็จ, ปีภาษี แล้วปรับกฎหลังเห็นเอกสารจริงจำนวนหนึ่ง ตรวจผล OCR ด้วยสายตาในเอกสารที่ต้องใช้ทางกฎหมาย เพราะภาพเบลอหรือแบบฟอร์มหลายคอลัมน์ทำให้ข้อความตกหล่นได้ อย่าใช้ผล OCR เป็นสำเนาที่แทนต้นฉบับโดยไม่ตรวจ
เอกสารอาจมีเลขบัตร ที่อยู่หรือข้อมูลการเงิน จึงควรให้บริการผ่าน HTTPS จำกัดบัญชีผู้ใช้และสิทธิ์เข้าถึง เก็บ secret แยกจากไฟล์ที่ commit ใน Git และไม่เปิดพอร์ตเว็บสู่สาธารณะโดยไม่มีการควบคุม
สำรองก่อนเพิ่มปริมาณ
สำรองทั้งฐานข้อมูลและโฟลเดอร์ข้อมูลถาวร โดยเฉพาะ media ที่เก็บไฟล์เอกสาร ทดสอบกู้คืนพร้อมค้นหาข้อความในเครื่องทดลองหลัง restore เพื่อยืนยันว่าดัชนีและไฟล์ตรงกัน เมื่ออัปเดต ให้ตรวจ changelog และเก็บ snapshot ที่กู้คืนได้ก่อนเปลี่ยน image ถ้าจะเพิ่ม Tika/Gotenberg เพื่อรองรับ Office ให้ทดสอบไฟล์จริงและติดตามทรัพยากร เพราะงานแปลงเอกสารอาจกิน CPU และเวลา
อ่านเพิ่มเติม: Setup · Configuration · Troubleshooting