พื้นที่เก็บข้อมูลนี้มีแอปพลิเคชันเครื่องพิมพ์สำหรับเครื่องพิมพ์ PostScript ที่ใช้ PAPPL เพื่อรองรับการพิมพ์ IPP จากระบบปฏิบัติการหลายระบบ นอกจากนี้ ยังใช้ทรัพยากรของ Cups-filters 2.x (ฟังก์ชันตัวกรองใน libcupsfilters, libppd) และ pappl-retrofit (ห่อหุ้มไดรเวอร์ CUPS แบบคลาสสิกในแอปพลิเคชันเครื่องพิมพ์) งานนี้ (หรือตอนนี้เป็นโค้ดของ pappl-retrofit) ได้มาจาก hp-printer-app
การมีส่วนร่วมของคุณยินดีต้อนรับ กรุณาโพสต์ปัญหาและดึงคำขอ
แอปพลิเคชันเครื่องพิมพ์ที่ไม่ใช่แรสเตอร์: รูปแบบปลายทางคือ PostScript ซึ่งเป็นรูปแบบระดับสูง/เวกเตอร์ ข้อมูลที่ป้อนเข้าใน PostScript หรือ PDF ได้รับการยอมรับ และจำเป็นต้องทำการแปลงโดยไม่ต้องมีขั้นตอนแรสเตอร์ใดๆ
แอปพลิเคชันเครื่องพิมพ์ที่ใช้ฟังก์ชันตัวกรองใหม่ของ Cup-filters 2.x ฟังก์ชันตัวกรองคือฟังก์ชันไลบรารีที่ได้มาจากตัวกรอง CUPS และมีการพัฒนาและปรับแต่งมานานหลายทศวรรษโดยเริ่มตั้งแต่การเปิดตัว CUPS ในปี 2000
แอปพลิเคชันเครื่องพิมพ์ที่ปรับให้เหมาะสมสำหรับไดรเวอร์ CUPS แบบคลาสสิก ในกรณีนี้คือรูปแบบที่ง่ายที่สุดของไฟล์ PPD เท่านั้นสำหรับเครื่องพิมพ์ PostScript โดยแสดงรายการไฟล์ PPD จากที่เก็บที่รวมอยู่ใน Snap โหลด PPD ที่จำเป็นสำหรับเครื่องพิมพ์จริง แยกตัวเลือกจาก PPD เพื่อแสดงไว้ในอินเทอร์เฟซเว็บ ยอมรับการตั้งค่างานเป็นคุณลักษณะ IPP และแทรกรหัส PostScript ที่ PPD ให้มาอย่างถูกต้อง ลงในสตรีมข้อมูลเอาท์พุต
แอปพลิเคชันเครื่องพิมพ์ที่ไม่ผ่านงานดิบ (รูปแบบอินพุตคือรูปแบบดั้งเดิมของเครื่องพิมพ์) เพื่อให้แน่ใจว่าโค้ด PostScript ของไฟล์ PPD จะถูกแทรกลงในสตรีมเอาต์พุตเสมอ เราจึงเรียกรูปแบบดั้งเดิมของเครื่องพิมพ์ว่า "application/vnd.printer-special" ซึ่งไม่มีอยู่ในรูปแบบอินพุต ดังนั้นอินพุต "application/postscript" จึงถูกบังคับ ผ่านฟังก์ชันตัวกรอง pstops()
แอปพลิเคชันเครื่องพิมพ์ที่ขยายได้: ผู้ใช้สามารถเพิ่มไฟล์ PPD ผ่านทางเว็บอินเตอร์เฟสการดูแลระบบ เพื่อรองรับเครื่องพิมพ์รุ่นเพิ่มเติม
คุณสมบัติเพิ่มเติมคือ:
เพื่อหลีกเลี่ยงความจำเป็นในการคิดค้นโค้ดใหม่สำหรับการฟอร์กเข้าสู่กระบวนการย่อยเพื่อให้เราสามารถส่งข้อมูลผ่านลำดับของตัวกรอง เราสร้างฟังก์ชันตัวกรองเพื่อส่งข้อมูลไปยังเครื่องพิมพ์ และสร้างสายโซ่ของตัวกรองการแปลงจริง (หนึ่งใน pstops() และ pdftops()) พร้อมด้วยฟังก์ชันตัวกรองนี้โดยใช้ฟังก์ชันตัวกรอง filterChain()
สำหรับอินพุต PWG/Apple Raster เราใช้การเรียกกลับแบบแรสเตอร์เพื่อให้การประมวลผลได้รับการสตรีม ทำให้สามารถทำงานขนาดใหญ่และยาวนานได้ไม่จำกัด เราใช้ฟังก์ชัน libppd เพื่อแทรกโค้ด PostScript ของตัวเลือก PPD ในสตรีมเอาต์พุต และฟังก์ชัน filterPOpen() เพื่อสร้างตัวอธิบายไฟล์สำหรับฟังก์ชัน libppd เพื่อส่งข้อมูลไปยังอุปกรณ์
Snap แอปพลิเคชันเครื่องพิมพ์ PostScript มีไฟล์ PostScript PPD ทั้งหมดของโปรเจ็กต์ foomatic-db และ HPLIP ในตัว ดังนั้น PPD ของเครื่องพิมพ์ PostScript ส่วนใหญ่ซึ่งมักจะมาพร้อมกับ Linux Distributions เพื่อหลีกเลี่ยงไม่ให้ PPD จำนวนมหาศาลนี้ขยายขนาดของ Snap เราจึงบีบอัด PPD เหล่านี้ในระดับสูงโดยใช้ pyppd โปรดทราบว่า PPD บางตัวใช้ตัวกรอง CUPS บางตัวเพื่อฟังก์ชันพิเศษ ตัวกรองเหล่านี้รวมอยู่ใน Snap ดังนั้นจึงรองรับฟังก์ชันพิเศษ (ในกรณีส่วนใหญ่การพิมพ์ที่ป้องกันด้วย PIN) ผู้ใช้สามารถเพิ่ม PPD เพิ่มเติมได้โดยไม่จำเป็นต้องสร้าง Snap ใหม่ (ดูด้านล่าง)
เราใช้ ID อุปกรณ์ IEEE-1284 ของเครื่องพิมพ์เพื่อระบุในตอนแรกว่าเป็นเครื่องพิมพ์ PostScript (ผ่านช่อง CMD:) เพื่อดูว่ารองรับหรือไม่ จากนั้นจึงตรวจสอบผ่านยี่ห้อและรุ่นว่าเรารองรับ PPD อย่างชัดเจนหรือไม่ เครื่องพิมพ์ PostScript ที่ไม่มี PPD จะได้รับ PPD ทั่วไป โดยการตรวจสอบฟิลด์ CMD: ก่อนการค้นหายี่ห้อ/รุ่น เรารับรองว่าหากโมดูลเสริมจัดเตรียม PostScript ไว้ แสดงว่าโมดูลนั้นได้รับการติดตั้งจริงแล้ว
คุณลักษณะ IPP ของงานมาตรฐานจะถูกแมปกับการตั้งค่าตัวเลือก PPD ที่เหมาะสมที่สุดเพื่อให้ผู้ใช้สามารถพิมพ์จากไคลเอนต์ทุกประเภท (เช่น โทรศัพท์หรืออุปกรณ์ IoT) ซึ่งรองรับเฉพาะคุณลักษณะ IPP มาตรฐานเท่านั้น และไม่สามารถดึงตัวเลือก PPD กลับมาได้ ถาด ขนาดสื่อ ชนิดสื่อสิ่งพิมพ์ และดูเพล็กซ์สามารถแมปได้อย่างง่ายดาย แต่เมื่อเป็นเรื่องของสีและคุณภาพ ก็จะซับซ้อนมากขึ้น เนื่องจากตัวเลือกที่เกี่ยวข้องในไฟล์ PPD จะแตกต่างกันมาก ที่นี่เราใช้อัลกอริธึมซึ่งโดยอัตโนมัติ (ผู้ที่ต้องการแก้ไขด้วยมือ ~10,000 PPDs สำหรับงานที่ได้รับมอบหมาย) จะค้นหาชุดการตั้งค่าตัวเลือกที่เหมาะสมสำหรับ print-color-mode
( color
/ monochrome
) print-quality
( draft
/ normal
/ high
) และ print-content-optimize
( auto
/ photo
/ graphics
/ text
/ text-and-graphics
) ใน PPD ของเครื่องพิมพ์ปัจจุบัน ดังนั้นคุณจึงสามารถเข้าถึงคุณภาพหรือความเร็วของเครื่องพิมพ์ได้อย่างง่ายดาย โดยไม่จำเป็นต้องจัดการกับการตั้งค่าตัวเลือกเฉพาะของเครื่องพิมพ์ (ตัวเลือกดั้งเดิมยังคงสามารถเข้าถึงได้ผ่านอินเทอร์เฟซผู้ดูแลเว็บ)
ความสามารถของเครื่องพิมพ์สำหรับเครื่องพิมพ์รุ่นที่กำหนด ("ไดรเวอร์" ในแอปพลิเคชันเครื่องพิมพ์) จะไม่คงที่ตลอดอายุของคิวการพิมพ์ที่ตั้งค่าในแอปพลิเคชันเครื่องพิมพ์ ผู้ใช้สามารถกำหนดค่าผ่านเพจในอินเทอร์เฟซผู้ดูแลระบบเว็บว่าอุปกรณ์ฮาร์ดแวร์ใดบ้าง (ถาดกระดาษเสริม หน่วยดูเพล็กซ์ อุปกรณ์ตกแต่งเอกสาร ...) ได้รับการติดตั้งบนเครื่องพิมพ์ และแอปพลิเคชันเครื่องพิมพ์จะอัปเดตโครงสร้างข้อมูลไดรเวอร์ และด้วยความสามารถนี้ของเครื่องพิมพ์ การตอบสนองต่อคำขอ IPP get-printer-attributes ได้รับการอัปเดตอย่างเหมาะสม
PostScript เป็นภาษาการเขียนโปรแกรมเต็มรูปแบบ และเครื่องพิมพ์ PostScript จำนวนมากอนุญาตให้สอบถามการตั้งค่าตัวเลือกต่างๆ และมีอุปกรณ์เสริมฮาร์ดแวร์ที่สามารถติดตั้งได้ซึ่งเรียกใช้โค้ด PostScript ที่เหมาะสม หากสามารถสอบถามการตั้งค่าได้ ผู้ผลิตจะใส่โค้ด PostScript ที่จำเป็นลงในไฟล์ PPD พร้อมด้วยตัวเลือกที่สามารถสอบถามได้ การสืบค้นเหล่านี้ได้รับการสนับสนุนโดยเว็บอินเตอร์เฟสของแอปพลิเคชันเครื่องพิมพ์
อุปกรณ์เครื่องพิมพ์ที่มีอยู่จะถูกค้นพบ (และใช้งาน) ด้วยแบ็กเอนด์ของ CUPS และไม่ใช่ด้วยแบ็กเอนด์ของ PAPPL เอง วิธีนี้ใช้วิธีแก้ไขปัญหาเฉพาะหน้าสำหรับเครื่องพิมพ์ USB ที่มีปัญหาความเข้ากันได้ (และสามารถแก้ไขได้) และเอาต์พุต PostScript สามารถส่งไปยังเครื่องพิมพ์ผ่าน IPP, IPPS (เข้ารหัส!) และ LPD นอกเหนือจากซ็อกเก็ต (โดยปกติคือพอร์ต 9100) สามารถกำหนดค่าแบ็กเอนด์ SNMP ได้ (ชุมชน ขอบเขตที่อยู่)
หากคุณมีการกำหนดค่าระบบที่ผิดปกติหรือมีไฟร์วอลล์ส่วนบุคคล เครื่องพิมพ์ของคุณอาจจะไม่ถูกค้นพบ ในสถานการณ์นี้ รายการ "เครื่องพิมพ์เครือข่าย" ด้วยตนเองทั้งหมดร่วมกับฟิลด์ชื่อโฮสต์/IP จะเป็นประโยชน์
ในหน้า "เพิ่มไฟล์ PPD" ในรายการไฟล์ PPD ของผู้ใช้ที่เพิ่มไว้แล้ว ให้ทำเครื่องหมายว่าไฟล์ใดที่เครื่องพิมพ์ใช้งานจริงซึ่งได้รับการตั้งค่าในแอปพลิเคชันเครื่องพิมพ์ เพื่อหลีกเลี่ยงไม่ให้ผู้ใช้ลบไฟล์เหล่านี้
สตริงที่มนุษย์สามารถอ่านได้สำหรับตัวเลือกของผู้ขาย (ต้องการการสนับสนุนจาก PAPPL: ปัญหา #58: การสนับสนุนการแปล)
ความเป็นสากล/การแปลเป็นภาษาท้องถิ่น (ต้องการการสนับสนุนจาก PAPPL: ปัญหา #58: การสนับสนุนการแปลเป็นภาษาท้องถิ่น)
การตรวจสอบระดับหมึก SNMP ผ่านฟังก์ชัน ps_status() (ต้องการการสนับสนุนจาก PAPPL: ปัญหา #83: CUPS ทำการสำรวจระดับหมึก IPP และ SNMP ผ่านแบ็กเอนด์ PAPPL ควรมีฟังก์ชันสำหรับสิ่งนี้)
สร้างตัวเลือกสำหรับตัวกรองถ้วย เพื่อสร้างโดยไม่มี libqpdf และ/หรือไม่มี libppd ตัวเลือกแรกจะอนุญาตให้สร้าง Snap ของแอปพลิเคชันเครื่องพิมพ์นี้โดยไม่ต้องดาวน์โหลดและสร้าง QPDF
หากต้องการเรียกใช้และใช้แอปพลิเคชันเครื่องพิมพ์นี้ เพียงติดตั้งจาก Snap Store:
sudo snap install --edge ps-printer-app
จากนั้นทำตามคำแนะนำด้านล่างเพื่อตั้งค่า
หากต้องการสร้าง Snap ด้วยตัวเองในไดเร็กทอรีหลักของการรันที่เก็บข้อมูลนี้
snapcraft snap
การดำเนินการนี้จะดาวน์โหลดแพ็คเกจที่จำเป็นทั้งหมดและสร้างแอปพลิเคชันเครื่องพิมพ์ PostScript โปรดทราบว่า PAPPL (1.0 ที่กำลังจะมา) และตัวกรองถ้วย (2.0 ที่กำลังจะมา) จะถูกดึงโดยตรงจากที่เก็บ GIT เนื่องจากยังไม่มีการเผยแพร่ที่เหมาะสม นอกจากนี้ยังสามารถนำไปสู่ความจริงที่ว่าแอปพลิเคชันเครื่องพิมพ์นี้จะไม่สร้างอีกต่อไปในทันที
หมายเหตุ: มีข้อบกพร่องใน Ubuntu Groovy (20.10) ที่ป้องกันไม่ให้สร้าง Snaps ดูการสนทนานี้ในฟอรัม Snapcraft ปัญหาได้รับการแก้ไขแล้ว แต่ยังไม่ได้ทำให้เป็น Groovy
Ubuntu เวอร์ชันเก่ากว่า (เช่น 20.04) หรือใหม่กว่า (เช่น 21.04) ควรใช้งานได้
ในการติดตั้ง Snap run ที่เป็นผลลัพธ์
sudo snap install --dangerous ps-printer-app_1.0_amd64.snap
แอปพลิเคชันเครื่องพิมพ์จะเริ่มทำงานโดยอัตโนมัติเป็นเซิร์ฟเวอร์ดีมอน
เข้าสู่เว็บอินเตอร์เฟส
http://localhost:8000/
ใช้เว็บอินเตอร์เฟสเพื่อเพิ่มเครื่องพิมพ์ ระบุชื่อ เลือกเครื่องพิมพ์ที่ค้นพบ จากนั้นเลือกยี่ห้อและรุ่น ตั้งค่าอุปกรณ์เสริมที่ติดตั้ง สื่อที่โหลด และค่าเริ่มต้นของตัวเลือกด้วย การกำหนดค่าอุปกรณ์เสริมและค่าเริ่มต้นของตัวเลือกอาจทำให้ถูกโพลจากเครื่องพิมพ์ได้เช่นกัน
จากนั้นพิมพ์ไฟล์ PDF, PostScript, JPEG, Apple Raster หรือ PWG Raster ด้วย
ps-printer-app FILE
หรือพิมพ์ด้วย CUPS, CUPS (และการเรียกดูแบบถ้วย) ค้นหาและปฏิบัติต่อเครื่องพิมพ์ที่ตั้งค่าด้วยแอพพลิเคชั่นเครื่องพิมพ์นี้เสมือนเป็นเครื่องพิมพ์ IPP ไร้คนขับ (IPP Everywhere และ AirPrint)
คุณยังสามารถเพิ่มไฟล์ PPD ได้โดยไม่ต้องสร้าง Snap ใหม่ โดยใช้ปุ่ม "เพิ่มไฟล์ PPD" ในเว็บอินเทอร์เฟซหรือโดยการคัดลอกไฟล์ PPD ด้วยตนเอง:
sudo cp PPDFILE /var/snap/ps-printer-app/common/ppd/
หลังจากคัดลอก (หรือลบ) ไฟล์ PPD ด้วยตนเอง คุณจะต้องรีสตาร์ทเซิร์ฟเวอร์หรือในอินเทอร์เฟซเว็บ ในหน้า "เพิ่มไฟล์ PPD" ให้คลิกปุ่ม "รีเฟรช" ที่ด้านล่าง นี่เป็นการเพิ่มการเปลี่ยนแปลงในรายการไดรเวอร์ภายใน
ในหน้า "เพิ่มเครื่องพิมพ์" ในเมนูแบบเลื่อนลงเพื่อเลือกไดรเวอร์ ไฟล์ PPD ที่ผู้ใช้เพิ่มจะถูกทำเครื่องหมายเป็น "USER-ADDED" เมื่อตั้งค่าเครื่องพิมพ์ด้วยการเลือกไดรเวอร์อัตโนมัติ แนะนำให้ใช้ไฟล์ PPD ที่ผู้ใช้เพิ่ม
PPDFILE
ในบรรทัดคำสั่งด้านบนไม่สามารถเป็นไฟล์ PPD ไฟล์เดียวได้ แต่เป็นไฟล์ PPD ไฟล์เดียวจำนวนเท่าใดก็ได้ ไฟล์ . .tar.gz
ที่มี PPD (ในโครงสร้างไดเร็กทอรีที่กำหนดเอง) และไฟล์ปฏิบัติการที่สร้าง PPD ซึ่งโดยปกติจะใส่ลงใน /usr/lib/cups/driver
. คุณยังสามารถสร้างโครงสร้างไดเร็กทอรีย่อยที่กำหนดเองใน /var/snap/ps-printer-app/current/ppd/
ซึ่งมีไฟล์ประเภทที่กล่าวถึง ตรวจสอบให้แน่ใจว่าไม่ได้ใส่ไฟล์ปฏิบัติการใด ๆ ไว้ที่นั่นซึ่งทำอย่างอื่นนอกเหนือจากการแสดงรายการและสร้างไฟล์ PPD
โปรดทราบว่าด้วยเว็บอินเตอร์เฟส คุณสามารถจัดการ PPD แต่ละรายการได้เท่านั้น (ไม่บีบอัดหรือบีบอัดด้วย gzip
) ใน /var/snap/ps-printer-app/current/ppd/
เอง ไฟล์เก็บถาวร ไฟล์ปฏิบัติการ หรือไดเร็กทอรีย่อยจะไม่แสดง และไม่ยอมรับการอัปโหลดที่เหมาะสม โดยเฉพาะอย่างยิ่งจะช่วยป้องกันการเพิ่มไฟล์ปฏิบัติการโดยไม่มีสิทธิ์รูท
ไฟล์ PPD ที่เพิ่มจะต้องใช้สำหรับเครื่องพิมพ์ PostScript เนื่องจากไฟล์ PPD ที่ไม่ใช่ PostScript นั้นมีไว้สำหรับไดรเวอร์ CUPS และดังนั้นจึงจำเป็นต้องมีไฟล์เพิ่มเติมเพื่อที่จะทำงานได้ และไฟล์ดังกล่าวไม่ได้รับการสนับสนุนในแอปพลิเคชันเครื่องพิมพ์นี้ หน้า "เพิ่มไฟล์ PPD" จะแสดงคำเตือนหากไฟล์ดังกล่าวได้รับการอัปโหลด
ดู
ps-printer-app --help
สำหรับตัวเลือกเพิ่มเติม
ใช้อาร์กิวเมนต์ "-o log-level=debug" สำหรับการบันทึกแบบละเอียดในหน้าต่างเทอร์มินัลของคุณ
คุณสามารถเพิ่มไฟล์ลงใน /var/snap/ps-printer-app/common/usb/
สำหรับกฎการเล่นโวหาร USB เพิ่มเติม แก้ไขไฟล์ที่มีอยู่สำหรับการทดสอบด่วนเท่านั้น เนื่องจากไฟล์เหล่านั้นจะถูกแทนที่ทุกครั้งที่อัปเดต Snap (เพื่อแนะนำกฎใหม่)
คุณสามารถแก้ไขไฟล์ /var/snap/ps-printer-app/common/cups/snmp.conf
เพื่อกำหนดค่าการค้นหาเครื่องพิมพ์เครือข่าย SNMP
คุณยังสามารถสร้าง "รวดเร็วและสกปรก" ได้โดยไม่ต้องหักและไม่จำเป็นต้องติดตั้ง PAPPL, Cups-filters 2.x และ pappl-retrofit เข้าสู่ระบบของคุณ คุณต้องมีไดเร็กทอรีที่มีสแนปชอต GIT ล่าสุดของ PAPPL, สแนปช็อต GIT ล่าสุดของตัวกรองถ้วย และสแน็ปช็อต GIT ล่าสุดของ pappl-retrofit (สาขาหลักของแต่ละส่วน) ทั้งหมดจำเป็นต้องได้รับการคอมไพล์ ( ./autogen.sh; ./configure; make
) ไม่จำเป็นต้องติดตั้ง ติดตั้งไฟล์ส่วนหัวของไลบรารีที่จำเป็นทั้งหมดด้วย (การติดตั้ง "libcups2-dev" ควรทำ)
ในไดเร็กทอรีที่มี ps-printer-app.c ให้รันบรรทัดคำสั่ง
gcc -o ps-printer-app ps-printer-app.c $PAPPL_SRC/pappl/libpappl.a $CUPS_FILTERS_SRC/.libs/libppd.a $CUPS_FILTERS_SRC/.libs/libcupsfilters.a $PAPPL_RETROFIT_SRC/.libs/libpappl-retrofit.a -ldl -lpthread -lppd -lcups -lavahi-common -lavahi-client -lgnutls -ljpeg -lpng16 -ltiff -lz -lm -lusb-1.0 -lpam -lqpdf -lstdc++ -I. -I$PAPPL_SRC/pappl -I$CUPS_FILTERS_SRC/ppd -I$CUPS_FILTERS_SRC/cupsfilters -I$PAPPL_RETROFIT_SRC/pappl/retrofit -L$CUPS_FILTERS_SRC/.libs/ -L$PAPPL_RETROFIT_SRC/.libs/
นอกจากนี้ยังมี Makefile แต่จำเป็นต้องติดตั้ง PAPPL, Cups-filters 2.x และ pappl-retrofit ลงในระบบของคุณ
วิ่ง
./ps-printer-app --help
เมื่อเรียกใช้เวอร์ชันที่ไม่ใช่ snapped ตามค่าเริ่มต้น ไฟล์ PPD จะถูกค้นหาใน
/usr/share/ppd/
/usr/lib/cups/driver/
/var/lib/ps-printer-app/ppd/
เส้นทางสุดท้ายจะใช้เมื่อเพิ่มไฟล์ PPD โดยใช้หน้า "เพิ่มไฟล์ PPD" ในอินเทอร์เฟซเว็บ
คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม PPD_PATHS
เพื่อค้นหาที่อื่นแทนได้:
PPD_PATHS=/path/to/my/ppds:/my/second/place ./ps-printer-app server
เพียงใส่รายการเส้นทางจำนวนเท่าใดก็ได้ที่คั่นด้วยโคลอนลงในตัวแปร ซึ่งเป็นรายการสุดท้ายที่ใช้โดยหน้า "เพิ่มไฟล์ PPD" เสมอ แนะนำให้สร้างสคริปต์ตัวตัดคำ
แอปพลิเคชันเครื่องพิมพ์นี้ใช้แบ็กเอนด์ของ CUPS ไม่ใช่ของ PAPPL ซึ่งหมายความว่าสำหรับเครื่องพิมพ์ USB จะใช้วิธีแก้ไขปัญหา USB แปลก ๆ ของ CUPS สำหรับปัญหาความเข้ากันได้ เครื่องพิมพ์เครือข่ายยังสามารถใช้กับโปรโตคอล IPP, IPPS และ LPD และสามารถกำหนดค่าการค้นพบเครื่องพิมพ์ SNMP ได้
กฎ USB Quirk ใน /usr/share/cups/usb
และไฟล์ /etc/cups/snmp.conf
สามารถแก้ไขได้หากจำเป็น
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง CUPS (อย่างน้อยก็แบ็กเอนด์)
คุณต้องมี Ghostscript เพื่อพิมพ์งาน PDF
สำหรับการเข้าถึงหน้าทดสอบ testpage.ps
ให้ใช้ตัวแปรสภาพแวดล้อม TESTPAGE_DIR:
TESTPAGE_DIR=`pwd` PPD_PATHS=/path/to/my/ppds:/my/second/place ./ps-printer-app server
หรือสำหรับการสร้างหน้าทดสอบของคุณเอง (PostScript, PDF, PNG, JPEG, Apple Raster, PWG Raster):
TESTPAGE=/path/to/my/testpage/my_testpage.ps PPD_PATHS=/path/to/my/ppds:/my/second/place ./ps-printer-app server
แอปพลิเคชันเครื่องพิมพ์ PostScript เป็นลิขสิทธิ์© 2020 โดย Till Kamppeter
ได้มาจากแอปพลิเคชันเครื่องพิมพ์ HP PCL ซึ่งเป็นโมเดลการทำงานแรกของแอปพลิเคชันเครื่องพิมพ์แรสเตอร์ที่ใช้ PAPPL มีอยู่ที่นี่:
https://github.com/michaelrsweet/hp-printer-app
แอปพลิเคชันเครื่องพิมพ์ HP PCL เป็นลิขสิทธิ์ © 2019-2020 โดย Michael R Sweet
ซอฟต์แวร์นี้ได้รับอนุญาตภายใต้ Apache License เวอร์ชัน 2.0 โดยมีข้อยกเว้นในการอนุญาตให้เชื่อมโยงกับซอฟต์แวร์ GPL2/LGPL2 (เช่น CUPS เวอร์ชันเก่า) ดูไฟล์ "ใบอนุญาต" และ "ประกาศ" สำหรับข้อมูลเพิ่มเติม