พื้นที่เก็บข้อมูลนี้ประกอบด้วยแอปพลิเคชันเครื่องพิมพ์สำหรับการพิมพ์บนเครื่องพิมพ์ HP และ Apollo ที่รองรับโดยชุดไดรเวอร์ HPLIP ของ HP
ใช้ PAPPL เพื่อรองรับการพิมพ์ IPP จากระบบปฏิบัติการหลายระบบ นอกจากนี้ ยังใช้ทรัพยากรของ Cups-filters 2.x (ฟังก์ชันตัวกรองใน libcupsfilters, libppd) และ pappl-retrofit (ห่อหุ้มไดรเวอร์ CUPS แบบคลาสสิกในแอปพลิเคชันเครื่องพิมพ์) งานนี้ (หรือตอนนี้เป็นโค้ดของ pappl-retrofit) ได้มาจาก hp-printer-app
ไดรเวอร์เครื่องพิมพ์และซอฟต์แวร์สำหรับสื่อสารกับฮาร์ดแวร์เครื่องพิมพ์นั้นนำมาจากชุดไดรเวอร์ HPLIP (HP Linux Imaging and Printing) รวมถึงข้อมูลเกี่ยวกับรุ่นเครื่องพิมพ์ที่รองรับและความสามารถด้วย
การมีส่วนร่วมของคุณยินดีต้อนรับ กรุณาโพสต์ปัญหาและดึงคำขอ
หมายเหตุ: HPLIP ได้รับการดูแลอย่างแข็งขันโดย HP โดยเพิ่มเครื่องพิมพ์รุ่นใหม่ล่าสุดอย่างต่อเนื่อง และปรับซอฟต์แวร์ให้เข้ากับสภาพแวดล้อมใหม่/การแจกจ่าย Linux ดังนั้นจึงเป็นวิธีที่ถูกต้องหาก HP เปลี่ยน HPLIP ให้เป็นแอปพลิเคชันเครื่องพิมพ์ หรืออย่างน้อยก็เสนอสิ่งนี้เป็นทางเลือกแทนไดรเวอร์ CUPS/SANE แบบคลาสสิก โดยเฉพาะอย่างยิ่งควรสร้างแอปพลิเคชันเครื่องพิมพ์ดั้งเดิม ซึ่งหมายความว่าจะไม่ใช้ PPD, ตัวกรอง CUPS และแบ็กเอนด์ CUPS ภายใน นอกจากนี้ระบบสาธารณูปโภคยังต้องแยกจาก CUPS อีกด้วย
สำหรับเครื่องพิมพ์ PostScript คุณสามารถใช้แอปพลิเคชันเครื่องพิมพ์ PostScript ได้ โดยเฉพาะอย่างยิ่งหากคุณได้ติดตั้งไว้แล้วสำหรับเครื่องพิมพ์ PostScript ที่ไม่ใช่ HP บางรุ่น
ตรวจสอบด้วยว่าเครื่องพิมพ์ของคุณเป็นเครื่องพิมพ์ IPP ไร้คนขับ (AirPrint, Mopria, IPP Everywhere, Wi-Fi Direct Print, พิมพ์จากโทรศัพท์) หรือไม่ เนื่องจากในกรณีนี้คุณไม่จำเป็นต้องมีแอปพลิเคชันเครื่องพิมพ์ใดๆ เลย เครื่องพิมพ์ HP สมัยใหม่ส่วนใหญ่ แม้แต่รุ่นที่ถูกที่สุด ก็เป็นเครื่องพิมพ์ IPP แบบไร้ไดรเวอร์ แม้แต่เครื่องพิมพ์ที่ใช้ USB เท่านั้นก็สามารถเป็น IPP แบบไร้ไดรเวอร์ได้ และโดยทั่วไปคุณสามารถใช้ IPP แบบไร้ไดรเวอร์ผ่าน USB ได้ ให้ลองใช้ ipp-usb สำหรับกรณีเหล่านี้ก่อน
แอปพลิเคชันเครื่องพิมพ์ที่ให้ไดรเวอร์เครื่องพิมพ์ hpcups
และ PPD ของเครื่องพิมพ์ทั้งหมดของ HPLIP ซึ่งรองรับการพิมพ์บนเครื่องพิมพ์ส่วนใหญ่จาก HP และ Apollo ช่วยให้พิมพ์งานคุณภาพสูงได้อย่างง่ายดาย รวมถึงภาพถ่ายบนกระดาษภาพถ่าย รวมตัวกรอง hpps
CUPS สำหรับการพิมพ์ที่ป้องกันด้วย PIN บนเครื่องพิมพ์ PostScript ไว้ด้วย
เครื่องพิมพ์ถูกค้นพบด้วย HPLIP เช่นกัน สำหรับเครื่องพิมพ์ USB จะใช้แบ็กเอนด์ hp
CUPS และสำหรับเครื่องพิมพ์เครือข่ายยูทิลิตี้ hp-probe
(ห่อหุ้มไว้ในสคริปต์เพื่อให้ทำงานเป็นแบ็กเอนด์ CUPS)
การสื่อสารกับเครื่องพิมพ์ทำได้โดยแบ็กเอนด์ hp
CUPS ดังนั้น (อย่างน้อยในกรณีของ USB) จึงมีการใช้โปรโตคอลแพ็คเก็ต IEEE-1284.4 (โปรโตคอล 7/1/3 บน USB) และไม่ใช่โปรโตคอลสตรีมแบบธรรมดา (เช่น มาตรฐาน ใช้แบ็กเอนด์ CUPS และ PAPPL) วิธีนี้ควรจะสามารถพิมพ์และสแกนได้พร้อมกัน หรืออย่างน้อยก็ตรวจสอบสถานะเครื่องพิมพ์ขณะพิมพ์ เครื่องพิมพ์บางรุ่นไม่รองรับโปรโตคอลนี้ หากไม่รองรับ จะใช้โปรโตคอลการสตรีมมาตรฐาน นอกจากนี้ยังรองรับฟังก์ชันพิเศษอื่นๆ ที่ต้องใช้แบ็กเอนด์ hp
ด้วย ในหน้าเว็บอินเตอร์เฟส "เพิ่มเครื่องพิมพ์" ใต้ "อุปกรณ์" ให้เลือกรายการ "HPLIP (HP)"
โปรดทราบว่าแบ็กเอนด์ hp
ไม่อนุญาตให้เข้าถึงเครื่องพิมพ์แบบสองทิศทาง หากคุณมีเครื่องพิมพ์ PostScript และต้องการการสนับสนุนสำหรับการสืบค้นระยะไกลเกี่ยวกับการกำหนดค่าอุปกรณ์เสริมของเครื่องพิมพ์ แทนที่จะพิมพ์และสแกนพร้อมกัน แบ็กเอนด์มาตรฐานของ CUPS สำหรับเครื่องพิมพ์ USB และเครือข่ายก็มีให้เลือกใช้เช่นกัน
หากคุณมีการกำหนดค่าระบบที่ผิดปกติหรือมีไฟร์วอลล์ส่วนตัว แบ็กเอนด์ของ HP อาจจะไม่พบเครื่องพิมพ์ของคุณ นอกจากนี้ ในสถานการณ์นี้ แบ็กเอนด์มาตรฐาน รวมถึงรายการ "เครื่องพิมพ์เครือข่าย" ด้วยตนเองทั้งหมดร่วมกับฟิลด์ชื่อโฮสต์/IP ก็มีประโยชน์เช่นกัน
การใช้ CUPS แทนแบ็คเอนด์มาตรฐานของ PAPPL ทำให้เกิดวิธีแก้ปัญหาเฉพาะหน้าสำหรับเครื่องพิมพ์ USB ที่มีปัญหาความเข้ากันได้ (และสามารถแก้ไขได้) และเอาต์พุตสามารถส่งไปยังเครื่องพิมพ์ผ่าน IPP, IPPS (เข้ารหัส!) และ LPD นอกเหนือจากซ็อกเก็ต ( โดยปกติจะเป็นพอร์ต 9100) สามารถกำหนดค่าแบ็กเอนด์ SNMP ได้ (ชุมชน ขอบเขตที่อยู่)
PWG Raster, Apple Raster หรือข้อมูลอินพุตรูปภาพที่จะพิมพ์บนเครื่องพิมพ์ที่ไม่ใช่ PostScript จะไม่ถูกแปลงเป็น PostScript หรือ PDF แต่จะถูกแปลง/ปรับขนาดเป็นพื้นที่สีและความละเอียดที่ต้องการเท่านั้น จากนั้นจึงป้อนลงในไดรเวอร์ hpcups
สำหรับการพิมพ์บนเครื่องพิมพ์ที่ไม่ใช่ PostScript ข้อมูลอินพุต PDF และ PostScript จะถูกแปลงเป็นข้อมูลแรสเตอร์โดยใช้ Ghostscript Ghostscript ยังใช้ในการแปลง PDF เป็น PostScript สำหรับเครื่องพิมพ์ PostScript
ข้อมูลเกี่ยวกับรุ่นเครื่องพิมพ์ที่รองรับและความสามารถใดบ้างจะขึ้นอยู่กับไฟล์ PPD ที่รวมอยู่ใน HPLIP พวกมันถูกบรรจุใน Snap เป็นไฟล์บีบอัด
คุณลักษณะ IPP ของงานมาตรฐานจะถูกแมปกับการตั้งค่าตัวเลือกของไดรเวอร์ที่เหมาะสมที่สุด เพื่อให้ผู้ใช้สามารถพิมพ์จากไคลเอนต์ทุกประเภท (เช่น โทรศัพท์หรืออุปกรณ์ IoT) ซึ่งรองรับเฉพาะแอตทริบิวต์ IPP มาตรฐานเท่านั้น และไม่สามารถดึงตัวเลือก PPD กลับมาได้ ถาด ขนาดสื่อ ชนิดสื่อสิ่งพิมพ์ และดูเพล็กซ์สามารถแมปได้อย่างง่ายดาย แต่เมื่อเป็นเรื่องของสีและคุณภาพ ก็จะซับซ้อนมากขึ้น เนื่องจากตัวเลือกที่เกี่ยวข้องในไฟล์ PPD จะแตกต่างกันมาก ที่นี่เราใช้อัลกอริธึมซึ่งโดยอัตโนมัติ (ผู้ที่ต้องการแก้ไขไฟล์ PPD ประมาณ 3,000 ไฟล์สำหรับงานมอบหมาย) จะค้นหาชุดการตั้งค่าตัวเลือกที่เหมาะสมสำหรับ print-color-mode
( color
/ monochrome
) print-quality
( draft
/ normal
/ high
) และ print-content-optimize
( auto
/ photo
/ graphics
/ text
/ text-and-graphics
) ใน PPD ของเครื่องพิมพ์ปัจจุบัน ดังนั้นคุณจึงสามารถเข้าถึงคุณภาพหรือความเร็วของเครื่องพิมพ์ได้อย่างง่ายดาย โดยไม่จำเป็นต้องจัดการกับการตั้งค่าตัวเลือกเฉพาะของเครื่องพิมพ์ (ตัวเลือกดั้งเดิมยังคงสามารถเข้าถึงได้ผ่านอินเทอร์เฟซผู้ดูแลเว็บ)
Snap ของแอปพลิเคชันเครื่องพิมพ์ HPLIP ใช้ซอร์สโค้ดของ HPLIP จากที่เก็บบรรจุภัณฑ์ของ Debian แทนที่จะรับโดยตรงจาก HP เนื่องจากแพ็คเกจของ Debian มีแพตช์ ~ 80 แพตช์แก้ไขข้อบกพร่องซึ่งรายงานไปยัง HP แต่แพตช์ไม่ได้ใช้อัปสตรีม ดังนั้นผู้ใช้ Snap ควรได้รับประสบการณ์ด้านความน่าเชื่อถือและคุณภาพเช่นเดียวกับแพ็คเกจ Debian
รองรับการดาวน์โหลดปลั๊กอินที่เป็นกรรมสิทธิ์ของ HPLIP ผ่านหน้าเพิ่มเติมในเว็บอินเตอร์เฟส นี่เป็นการเพิ่มการรองรับเครื่องพิมพ์เลเซอร์บางรุ่นที่ต้องโหลดเฟิร์มแวร์ทุกครั้งที่เปิดเครื่อง หรือใช้รูปแบบข้อมูลการพิมพ์ที่เป็นกรรมสิทธิ์บางอย่าง ใช้งานได้ทั้งใน Snap และในการติดตั้งแอปพลิเคชันเครื่องพิมพ์แบบคลาสสิก (ต้องรันในฐานะรูท ไม่เช่นนั้นจะมีเพียงการตรวจสอบสถานะของปลั๊กอินเท่านั้น)
รองรับการสแกนบนเครื่องพิมพ์มัลติฟังก์ชั่นของ HP ซึ่งต้องรองรับการสแกนใน PAPPL (ซึ่งมีความก้าวหน้าอย่างดีใน GSoC 2021)
ตัวอย่างเช่น หน้าทดสอบ PDF ที่สร้างด้วยตัวกรอง Bannertopdf
สตริงที่มนุษย์สามารถอ่านได้สำหรับตัวเลือกของผู้ขาย (ต้องการการสนับสนุนจาก PAPPL: ปัญหา #58: การสนับสนุนการแปล)
ความเป็นสากล/การแปลเป็นภาษาท้องถิ่น (ต้องการการสนับสนุนจาก PAPPL: ปัญหา #58: การสนับสนุนการแปลเป็นภาษาท้องถิ่น)
การตรวจสอบระดับหมึก SNMP ผ่านฟังก์ชัน ps_status() (ต้องการการสนับสนุนจาก PAPPL: ปัญหา #83: CUPS ทำการสำรวจระดับหมึก IPP และ SNMP ผ่านแบ็กเอนด์ PAPPL ควรมีฟังก์ชันสำหรับสิ่งนี้)
สร้างตัวเลือกสำหรับตัวกรองถ้วย เพื่อสร้างโดยไม่มี libqpdf และ/หรือไม่มี libppd ตัวเลือกแรกจะอนุญาตให้สร้าง Snap ของแอปพลิเคชันเครื่องพิมพ์นี้โดยไม่ต้องดาวน์โหลดและสร้าง QPDF
หากต้องการเรียกใช้และใช้แอปพลิเคชันเครื่องพิมพ์นี้ เพียงติดตั้งจาก Snap Store:
sudo snap install --edge hplip-printer-app
จากนั้นทำตามคำแนะนำด้านล่างเพื่อตั้งค่า
หากต้องการสร้าง Snap ด้วยตัวเองในไดเร็กทอรีหลักของการรันที่เก็บข้อมูลนี้
snapcraft snap
การดำเนินการนี้จะดาวน์โหลดแพ็คเกจที่จำเป็นทั้งหมดและสร้างแอปพลิเคชันเครื่องพิมพ์ HPLIP โปรดทราบว่า PAPPL (1.0 ที่กำลังจะมา) และตัวกรองถ้วย (2.0 ที่กำลังจะมา) จะถูกดึงโดยตรงจากที่เก็บ GIT เนื่องจากยังไม่มีการเผยแพร่ที่เหมาะสม นอกจากนี้ยังสามารถนำไปสู่ความจริงที่ว่าแอปพลิเคชันเครื่องพิมพ์นี้จะไม่สร้างอีกต่อไปในทันที
ในการติดตั้ง Snap run ที่เป็นผลลัพธ์
sudo snap install --dangerous hplip-printer-app_1.0_amd64.snap
แอปพลิเคชันเครื่องพิมพ์จะเริ่มทำงานโดยอัตโนมัติเป็นเซิร์ฟเวอร์ดีมอน
เข้าสู่เว็บอินเตอร์เฟส
http://localhost:8000/
ใช้เว็บอินเตอร์เฟสเพื่อเพิ่มเครื่องพิมพ์ ระบุชื่อ เลือกเครื่องพิมพ์ที่ค้นพบ จากนั้นเลือกยี่ห้อและรุ่น ตั้งค่าอุปกรณ์เสริมที่ติดตั้ง สื่อที่โหลด และค่าเริ่มต้นของตัวเลือกด้วย หากเครื่องพิมพ์เป็นเครื่องพิมพ์ PostScript การกำหนดค่าอุปกรณ์เสริมและค่าเริ่มต้นของตัวเลือกมักจะถูกสำรวจจากเครื่องพิมพ์เช่นกัน
หากรายการเครื่องพิมพ์ของคุณในอินเทอร์เฟซเว็บมีหมายเหตุว่า "ต้องใช้ปลั๊กอินที่เป็นกรรมสิทธิ์" คุณจะต้องติดตั้งปลั๊กอินของ HP ในกรณีนี้ ให้คลิกที่ปุ่ม "ปลั๊กอิน" ในรายการเครื่องพิมพ์นี้ หรือที่ปุ่ม "ติดตั้งปลั๊กอินที่เป็นกรรมสิทธิ์" ใต้ "การตั้งค่าอื่นๆ" ที่หน้าแรกของเว็บอินเทอร์เฟซ และปฏิบัติตามคำแนะนำบนหน้าจอ
จากนั้นพิมพ์ไฟล์ PDF, PostScript, JPEG, Apple Raster หรือ PWG Raster ด้วย
hplip-printer-app FILE
หรือพิมพ์ด้วย CUPS, CUPS (และการเรียกดูแบบถ้วย) ค้นหาและปฏิบัติต่อเครื่องพิมพ์ที่ตั้งค่าด้วยแอพพลิเคชั่นเครื่องพิมพ์นี้เสมือนเป็นเครื่องพิมพ์ IPP ไร้คนขับ (IPP Everywhere และ AirPrint)
ดู
hplip-printer-app --help
สำหรับตัวเลือกเพิ่มเติม
ใช้อาร์กิวเมนต์ "-o log-level=debug" สำหรับการบันทึกแบบละเอียดในหน้าต่างเทอร์มินัลของคุณ
คุณสามารถเพิ่มไฟล์ลงใน /var/snap/hplip-printer-app/common/usb/
สำหรับกฎการเล่นโวหาร USB เพิ่มเติม แก้ไขไฟล์ที่มีอยู่สำหรับการทดสอบด่วนเท่านั้น เนื่องจากไฟล์เหล่านั้นจะถูกแทนที่ทุกครั้งที่อัปเดต Snap (เพื่อแนะนำกฎใหม่)
คุณสามารถแก้ไขไฟล์ /var/snap/hplip-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" ควรทำ)
ในไดเร็กทอรีที่มี hplip-printer-app.c ให้รันบรรทัดคำสั่ง
gcc -o hplip-printer-app hplip-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 ลงในระบบของคุณ
วิ่ง
./hplip-printer-app --help
เมื่อเรียกใช้เวอร์ชันที่ไม่ใช่ snapped ตามค่าเริ่มต้น ไฟล์ PPD จะถูกค้นหาใน
/usr/share/ppd/
/usr/lib/cups/driver/
/var/lib/hplip-printer-app/ppd/
คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม PPD_PATHS
เพื่อค้นหาที่อื่นแทนได้:
PPD_PATHS=/path/to/my/ppds:/my/second/place ./hplip-printer-app server
เพียงใส่รายการเส้นทางจำนวนเท่าใดก็ได้ที่คั่นด้วยโคลอนลงในตัวแปร แนะนำให้สร้างสคริปต์ตัวตัดคำ
โปรดทราบว่าจะพิจารณาเฉพาะไฟล์ PPD สำหรับไดรเวอร์ hpcups
ของ HPLIP ส่วนไฟล์ PPD อื่นๆ จะถูกละเว้น
เครื่องพิมพ์จะถูกค้นพบผ่านทางแบ็กเอนด์ hp
ของ HPLIP (USB) หรือยูทิลิตี้ hp-probe
ของ HPLIP (เครือข่าย) เท่านั้น สำหรับส่วนหลังจะมีสคริปต์ wrapper ชื่อ HP
รวมอยู่ด้วยซึ่งทำให้ยูทิลิตี้นี้ใช้งานได้เหมือนกับแบ็กเอนด์ CUPS (โหมดการค้นพบเท่านั้น) สิ่งนี้ทำให้ค้นพบเฉพาะเครื่องพิมพ์ HP และ Apollo เท่านั้น ไม่รองรับเครื่องพิมพ์จากผู้ผลิตรายอื่น
งานจะถูกกรองผ่าน hpcups
และส่งไปยังเครื่องพิมพ์ผ่านแบ็คเอนด์ hp
(ทั้ง USB และเครือข่าย)
แบ็คเอนด์มาตรฐาน (ไม่ใช่ของ HPLIP) ที่จัดให้เป็นทางเลือกในแอปพลิเคชันเครื่องพิมพ์นี้คือแบ็กเอนด์ของ CUPS ไม่ใช่ของ PAPPL ซึ่งหมายความว่าสำหรับเครื่องพิมพ์ USB มีการใช้วิธีแก้ไขปัญหา USB แปลก ๆ ของ CUPS สำหรับปัญหาความเข้ากันได้ เครื่องพิมพ์เครือข่ายยังสามารถใช้กับ IPP, IPPS และ สามารถกำหนดค่าโปรโตคอล LPD และการค้นพบเครื่องพิมพ์ SNMP ได้
กฎ USB Quirk ใน /usr/share/cups/usb
และไฟล์ /etc/cups/snmp.conf
สามารถแก้ไขได้หากจำเป็น
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง HPLIP และหากคุณต้องการใช้แบ็กเอนด์มาตรฐาน CUPS (อย่างน้อยก็แบ็กเอนด์)
คุณต้องมี Ghostscript เพื่อพิมพ์งาน PDF หรือ PostScript
สำหรับการเข้าถึงหน้าทดสอบ testpage.ps
ให้ใช้ตัวแปรสภาพแวดล้อม TESTPAGE_DIR:
TESTPAGE_DIR=`pwd` PPD_PATHS=/path/to/my/ppds:/my/second/place ./hplip-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 ./hplip-printer-app server
แอปพลิเคชันเครื่องพิมพ์ HPLIP เป็นลิขสิทธิ์© 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 เวอร์ชันเก่า) ดูไฟล์ "ใบอนุญาต" และ "ประกาศ" สำหรับข้อมูลเพิ่มเติม