- Stirling PDF เป็นแพลตฟอร์มแก้ไข PDF แบบโอเพนซอร์สที่สามารถ แก้ไข·ลงนาม·ปิดทับข้อมูล·แปลง·ทำงานอัตโนมัติ ได้โดยไม่ต้องส่งเอกสารไปยังบริการภายนอก
- รองรับทั้ง แอปเดสก์ท็อป สำหรับใช้งานส่วนตัว, UI บนเบราว์เซอร์, การติดตั้งบนเซิร์ฟเวอร์ของตนเอง และ private API จึงสามารถใช้งานให้เหมาะกับสภาพแวดล้อมการทำงานได้
- มีเครื่องมือ PDF มากกว่า 50 รายการ ครอบคลุมฟีเจอร์อย่างการรวมไฟล์·แยกไฟล์·OCR·บีบอัด รวมถึง no-code pipeline บน UI และระบบอัตโนมัติผ่าน API
- สำหรับการใช้งานระดับองค์กร รองรับ SSO, การตรวจสอบย้อนหลัง และการติดตั้งแบบ on-premises โดยเครื่องมือส่วนใหญ่มี REST API สำหรับผสานเข้ากับระบบเดิมได้
- การเริ่มต้นอย่างรวดเร็วทำได้ด้วย Docker โดยรัน
docker run -p 8080:8080 docker.stirlingpdf.com/stirlingtools/stirling-pdf แล้วเปิด http://localhost:8080
สิ่งที่ Stirling PDF มีให้
- Stirling PDF เป็นแพลตฟอร์มแก้ไข PDF แบบโอเพนซอร์สที่สามารถรันได้ทั้งในแอปเดสก์ท็อปส่วนตัว, UI บนเบราว์เซอร์ และเซิร์ฟเวอร์ที่โฮสต์เอง
- เมื่อติดตั้งบนเซิร์ฟเวอร์ของตนเอง จะสามารถใช้ private API ได้ และจัดการงาน PDF โดยไม่ต้องส่งเอกสารไปยังบริการภายนอก
- งานหลักที่รองรับคือ การแก้ไข, การลงนาม, การปิดทับข้อมูล, การแปลง และการทำงานอัตโนมัติ
ขอบเขตความสามารถหลัก
- มี เครื่องมือ PDF มากกว่า 50 รายการ
- แก้ไข
- รวมไฟล์
- แยกไฟล์
- ลงนาม
- ปิดทับข้อมูล
- แปลง
- OCR
- บีบอัด
- รองรับ ระบบอัตโนมัติและเวิร์กโฟลว์
- สามารถสร้าง no-code pipeline ได้จาก UI
- สามารถประมวลผล PDF หลายล้านไฟล์ผ่าน API ได้
- มีคุณสมบัติแบบ แพลตฟอร์มนักพัฒนา ด้วย
- มี REST API สำหรับเครื่องมือเกือบทั้งหมด
- สามารถผสานเข้ากับระบบเดิมได้
- UI รองรับ มากกว่า 40 ภาษา
- สามารถดูรายการความสามารถทั้งหมดได้ที่ Documentation
การติดตั้งและรูปแบบการรัน
- สภาพแวดล้อมที่รองรับคือ ไคลเอนต์เดสก์ท็อป, UI บนเบราว์เซอร์ และเซิร์ฟเวอร์ที่โฮสต์เอง
- เริ่มต้นอย่างรวดเร็วได้ด้วยคำสั่ง Docker
docker run -p 8080:8080 docker.stirlingpdf.com/stirlingtools/stirling-pdf
ฟีเจอร์สำหรับองค์กรและการปฏิบัติการ
- มีฟีเจอร์ระดับองค์กรอย่าง SSO, การตรวจสอบย้อนหลัง และการติดตั้ง on-premises ที่ยืดหยุ่น
- ข้อมูลเกี่ยวกับ Server Plan และ Enterprise อยู่ที่ Server Plan & Enterprise
การพัฒนา·การมีส่วนร่วม·การสนับสนุน
- แหล่งข้อมูลหลัก
- ช่องทางการสนับสนุน
- แนวทางการมีส่วนร่วมให้ปฏิบัติตาม
CONTRIBUTING.md
- คำสั่งสำหรับ build·พัฒนา·ทดสอบ ใช้ Task เป็นตัวรันคำสั่งแบบรวมศูนย์
- เริ่มรันเอดิเตอร์ด้วย
task dev
- ดูคำสั่งที่ใช้บ่อยด้วย
task
- รายละเอียดทั้งหมดอยู่ใน
DeveloperGuide.md
- การเพิ่มภาษาแปลใหม่ให้ดู
devGuide/HowToAddNewLanguage.md
- ไลเซนส์เป็นแบบ open-core และรายละเอียดอยู่ใน
LICENSE
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
สิ่งที่ขาดแคลนจริง ๆ ในระบบนิเวศ PDF คือ เครื่องมือโอเพนซอร์สเกี่ยวกับลายเซ็น
ลายเซ็น PDF มีความสำคัญทางกฎหมายในหลายภูมิภาคทั่วโลกเพราะกฎระเบียบอย่าง eIDAS แต่การเซ็นเอกสาร PDF ด้วยวิธีเข้ารหัสนั้นยากเกินไป ถ้าไม่ใช้ Adobe หรือเครื่องมือปิดซอร์สที่ดูน่าสงสัย ต่อให้หาวิธีเซ็นด้วย LibreOffice หรือ poppler ได้แล้ว ก็ยังยากที่จะได้ใบรับรองที่ตรวจสอบได้โดยไม่ต้องจ่ายเงินก้อนใหญ่
ถ้ามีใครทำหน้าที่แบบ Let's Encrypt สำหรับ PDF และใบรับรอง S/MIME ได้ ความเชื่อมั่นสาธารณะน่าจะดีขึ้นมาก
ไลบรารีโอเพนซอร์สที่ยอดเยี่ยมสำหรับ PDF, ลายเซ็นดิจิทัล และลายเซ็น PDF: https://github.com/MatthiasValvekens/pyHanko
DSS Tool ของ European Commission ก็มีประโยชน์ แค่ส่ง PDF ไฟล์เดียวก็พอ ไม่จำเป็นต้องใส่ทั้งต้นฉบับและไฟล์ที่เซ็นแล้ว: https://ec.europa.eu/digital-building-blocks/DSS/webapp-demo...
บริษัทคือ https://www.zealid.com/en/ และที่ https://my.zealid.com/en สามารถทำ remote onboarding ได้ฟรี จากนั้นดาวน์โหลดและอัปโหลดใบรับรองที่มีคุณสมบัติตามเกณฑ์ เซ็นแบบ QES และดาวน์โหลด PDF ได้ฟรีทั้งหมด และยังเชื่อมต่อผ่าน API ได้ด้วย
ผมโฮสต์ตัวนี้ไว้ที่บ้าน ไม่ได้ใช้เองโดยตรง แค่ใช้ เครื่องมือ Linux CLI ที่เป็นฐานของมันก็พอ
แต่ผมคิดว่าภรรยาใช้ตัวนี้แปลงหรือแยก PDF ดีกว่าอัปโหลดไปเว็บหรือแอปอะไรก็ไม่รู้ ยังไงเว็บพวกนั้นก็มักใช้เครื่องมือ command line เดียวกันอยู่แล้ว
ภรรยาก็ไม่ได้ใส่ใจมากว่าจะใช้แบบไหน และดูเหมือนว่ามันเหมาะกับกรณีใช้งานของเธอพอดี
PDFBox เป็นแอปพลิเคชัน Java ดังนั้นควรทำงานข้ามแพลตฟอร์มได้ ไม่ใช่แค่ Linux ถ้าหมายถึงอย่างอื่นก็บอกด้วยนะ
ใน README เขียนว่า “Stirling PDF จะไม่เริ่มการเรียกออกไปภายนอกเพื่อวัตถุประสงค์ด้านการเก็บบันทึกหรือการติดตาม” งั้นก็คงได้ข้อสรุปแล้วมั้ง
ตอนแรกเริ่มจาก ชาเลนจ์ 24 ชั่วโมง เพื่อสร้างทั้งแอปด้วย ChatGPT ภายในเวลาจำกัด เพราะอยากทดสอบว่า ChatGPT 3.0 เมื่อปีที่แล้วเป็นอย่างไร
พอโพสต์ลง Reddit แล้วมีคนต้องการเยอะ เลยพัฒนาต่อเป็นแอปเต็มรูปแบบ และช่วงที่ใช้ ChatGPT ล้วน ๆ มีแค่ 24 ชั่วโมงแรกเท่านั้น ตอนนี้ผ่านมามากกว่าหนึ่งปีแล้ว
เราไม่เขียนใน README ว่า “พัฒนาด้วย IntelliSense” กันนี่นา
ดังนั้นตามมาตรฐานของผม ความมีประโยชน์ของมันลดลงไปมาก
ถ้าฟีเจอร์นี้ถูกรวมเข้ากับ Paperless ก็คงดี บางครั้งเอกสารที่สแกนเข้ามากลับหัว เลยต้องสแกนใหม่
ถ้ากดปุ่มหมุน แล้วถ้าจำเป็นก็จัดลำดับใหม่ จากนั้นให้ประมวลผลใหม่ได้ก็คงดี
ที่มา: https://docs.paperless-ngx.com/changelog/#paperless-ngx-270
อัปเดตที่ค่อนข้างใหม่ของ Firefox เพิ่ม ตัวแก้ไข PDF เข้ามาแล้ว
ดูเหมือนว่าหลายคนยังมีภาพจำเกี่ยวกับ Firefox ค้างอยู่ที่เมื่อหลายเวอร์ชันก่อน ในฐานะคนที่ใช้ทุกวันมาตลอดประวัติของมัน ผมว่า Firefox พัฒนาขึ้นมากพอสมควรตลอดหลายปีที่ผ่านมา
ถ้าไม่ได้ลองใช้มาสักพัก ก็น่าลองกลับมาใช้อีกครั้ง
เมื่อเห็นประโยคใน README ที่ว่า “Stirling PDF does not initiate any outbound calls for record-keeping or tracking purposes” ก็สงสัยว่าผู้ใช้ที่สนใจจะมีวิธี ตรวจสอบล่วงหน้า นอกเหนือจากการ audit โค้ดหรือไม่
โดยเฉพาะแม้แอปจะต้องมีคำขอเว็บบางอย่างเพื่อให้ทำงานได้ แต่แอปบนเว็บจะสนับสนุนข้อกล่าวอ้างแบบนี้ได้อย่างไร เช่น ในกรณีที่ต้องส่งคำขอได้เฉพาะไปยังรายการ URL ที่จำกัดไว้ใน manifest อย่าง Content-Security-Policy เท่านั้น?
นี่เป็นปัญหาที่ค่อนข้างเฉพาะเจาะจงเมื่อ deploy แอปที่ผู้ใช้ต้อง “อัปโหลด” เนื้อหาที่อ่อนไหว
https://www.obdev.at/products/littlesnitch/index.html
Little Snitch เป็นเครื่องมือที่เน้น macOS เป็นหลัก อย่างอื่นก็น่าจะมี แต่ไม่ค่อยรู้จัก รู้สึกว่าเรื่องแบบนี้ควรเป็นฟีเจอร์ระดับระบบปฏิบัติการ
อาจให้เข้าถึงแอปผ่าน HTTP proxy แล้วกรองคำขอภายนอกจากเว็บแอป หรือไม่ตั้งค่า network routing ให้กับเซิร์ฟเวอร์ที่โฮสต์แอปนั้นเลยก็ได้ แบบนั้นสิ่งที่เหลือก็มีเพียงคำขอที่ JavaScript เริ่มจากในหน้าเว็บที่ render แล้วเท่านั้น
โอเพนซอร์สทำงานอยู่บน ความไว้วางใจ ในระดับสูง และพวกเราทุกคนก็เป็นส่วนหนึ่งของโครงสร้างนั้น
กำลังทำผลิตภัณฑ์ที่อธิบายได้ในลักษณะคล้ายกัน
CxReports: เครื่องมือรายงาน PDF บนเว็บแบบโฮสต์เอง
https://www.cx-reports.com
เมื่อไม่กี่เดือนก่อนเคยเห็นโปรเจกต์นี้แล้วชอบทันที เลยติดตั้งและเริ่มใช้งานจริง แต่พบว่า บั๊กเยอะ และเครื่องมือบางอย่างใช้งานไม่ได้แทบทั้งหมด
หวังว่าตอนนี้จะดีขึ้นแล้ว
เคยลองใช้สิ่งนี้เพื่อ เพิ่มคอนทราสต์ ของไฟล์ PDF ที่มีแบบฟอร์มข้อความที่สแกนมา สแกนแทบมองไม่เห็น เลยต้องการประมาณว่าให้ส่วนที่มืดเข้มขึ้น และถ้าเป็นไปได้ก็หนาขึ้นเล็กน้อยเพื่อให้มองเห็นชัดขึ้น
งานที่ดูเล็กน้อยแบบนั้น เครื่องมือก็ยังช่วยได้ไม่ดี และปรับปรุงได้เพียงเล็กน้อยมาก ลองทำซ้ำหลายครั้ง แต่หลังจากครั้งที่สองก็ไม่มีความแตกต่างทางสายตาอีกแล้ว มีแต่ขนาดไฟล์ที่เปลี่ยนไปเรื่อย ๆ
แค่ดึงภาพออกมา แล้วเพิ่มคอนทราสต์ด้วย GIMP หรือ ImageMagick จากนั้นสร้าง PDF ใหม่ก็พอ ถ้ามีไฟล์จำนวนมากก็สคริปต์จัดการได้
กำลังดูรายการอยู่ และกำลังหาอยู่ว่ามี API สำหรับดึงข้อความ จาก PDF หรือไม่
หรือจะดึงออกมาในรูปแบบเวกเตอร์หรือ embedding ได้หรือเปล่าก็สงสัยเหมือนกัน