Repositori ini berisi Aplikasi Printer untuk mencetak pada printer HP dan Apollo yang didukung oleh rangkaian driver HPLIP HP.
Ia menggunakan PAPPL untuk mendukung pencetakan IPP dari berbagai sistem operasi. Selain itu, ia menggunakan sumber daya cup-filter 2.x (fungsi filter di libcupsfilters, libppd) dan pappl-retrofit (mengenkapsulasi driver CUPS klasik di Aplikasi Printer). Karya ini (atau sekarang kode pappl-retrofit) berasal dari aplikasi hp-printer.
Driver printer itu sendiri dan perangkat lunak untuk berkomunikasi dengan perangkat keras printer diambil dari rangkaian driver HPLIP (HP Linux Imaging and Printing), juga Informasi tentang model printer yang didukung dan kemampuannya.
Kontribusi Anda diterima. Silakan posting masalah dan tarik permintaan.
Catatan: HPLIP dikelola secara aktif oleh HP, mereka terus menambahkan model printer terbaru dan mengadaptasi perangkat lunak ke lingkungan baru/distribusi Linux. Oleh karena itu, merupakan cara yang tepat juga jika HP mengubah HPLIP menjadi Aplikasi Printer atau setidaknya menawarkan ini sebagai alternatif driver CUPS/SANE klasik. Terutama mereka harus membuat Aplikasi Printer asli, artinya tidak menggunakan PPD, filter CUPS, dan backend CUPS secara internal. Juga utilitas mereka harus dibuat independen dari CUPS.
Untuk printer PostScript Anda juga dapat menggunakan Aplikasi Printer PostScript, terutama jika Anda sudah menginstalnya untuk beberapa printer non-HP PostScript.
Periksa juga apakah printer Anda merupakan printer IPP tanpa driver (AirPrint, Mopria, IPP Everywhere, Wi-Fi Direct Print, mencetak dari ponsel) karena dalam hal ini Anda tidak memerlukan Aplikasi Printer sama sekali. Kebanyakan printer HP modern, bahkan model termurah sekalipun, adalah printer IPP tanpa driver. Bahkan printer khusus USB pun dapat menjadi IPP tanpa driver, dan biasanya Anda dapat menggunakan IPP tanpa driver melalui USB, coba ipp-usb untuk kasus ini terlebih dahulu.
Aplikasi Printer yang menyediakan driver printer hpcups
dan semua PPD printer HPLIP, mendukung pencetakan pada sebagian besar printer dari HP dan Apollo. Hal ini memungkinkan pencetakan mudah dalam kualitas tinggi, termasuk foto pada kertas foto. Filter hpps
CUPS untuk pencetakan yang dilindungi PIN pada printer PostScript juga disertakan.
Printer juga ditemukan dengan HPLIP. Untuk printer USB, backend hp
CUPS digunakan dan untuk printer jaringan, utilitas hp-probe
(dirangkum dalam skrip untuk berperilaku sebagai backend CUPS).
Komunikasi dengan printer dilakukan oleh backend hp
CUPS sehingga (setidaknya dalam kasus USB) protokol paket IEEE-1284.4 (protokol 7/1/3 pada USB) digunakan dan bukan protokol streaming sederhana (seperti standar penggunaan backend CUPS dan PAPPL). Dengan cara ini seseorang dapat mencetak dan memindai secara bersamaan, atau setidaknya memeriksa status printer saat mencetak. Tidak semua printer mendukung protokol ini, jika tidak, protokol streaming standar digunakan. Fungsi khusus lainnya yang memerlukan backend hp
juga didukung. Pada halaman antarmuka web "Tambahkan Printer" di bawah "Perangkat" pilih entri "HPLIP (HP)".
Perhatikan bahwa backend hp
tidak mengizinkan akses dua arah ke printer. Jika Anda memiliki printer PostScript dan lebih memilih dukungan untuk kueri jarak jauh terhadap konfigurasi aksesori printer daripada mencetak dan memindai secara bersamaan, backend standar CUPS untuk printer USB dan jaringan juga tersedia.
Jika Anda memiliki konfigurasi sistem yang tidak biasa atau firewall pribadi, backend HP mungkin tidak akan menemukan printer Anda. Juga dalam situasi ini backend standar, termasuk entri "Printer Jaringan" yang sepenuhnya manual dikombinasikan dengan bidang nama host/IP dapat membantu.
Penggunaan CUPS alih-alih backend standar PAPPL membuat solusi khusus untuk printer USB dengan masalah kompatibilitas yang digunakan (dan dapat diedit) dan output dapat dikirim ke printer melalui IPP, IPPS (terenkripsi!), dan LPD selain soket ( biasanya port 9100). Backend SNMP dapat dikonfigurasi (komunitas, cakupan alamat).
PWG Raster, Apple Raster, atau data input gambar yang akan dicetak pada printer non-PostScript tidak dikonversi ke PostScript atau PDF, hanya dikonversi/diskalakan ke ruang warna dan resolusi yang diperlukan, lalu dimasukkan ke driver hpcups
.
Untuk mencetak pada printer non-PostScript, data masukan PDF dan PostScript dirender menjadi data raster menggunakan Ghostscript. Ghostscript juga digunakan untuk mengubah PDF menjadi PostScript untuk printer PostScript.
Informasi tentang model printer mana yang didukung dan kemampuannya didasarkan pada file PPD yang disertakan dalam HPLIP. Mereka dikemas dalam Snap sebagai arsip terkompresi.
Atribut IPP pekerjaan standar dipetakan ke pengaturan opsi driver yang paling sesuai sehingga pengguna dapat mencetak dari jenis klien apa pun (misalnya telepon atau perangkat IoT) yang hanya mendukung atribut IPP standar dan tidak dapat mengambil opsi PPD. Baki, ukuran media, jenis media, dan dupleks dapat dipetakan dengan mudah, namun jika menyangkut warna dan kualitas, hal ini menjadi lebih rumit, karena opsi yang relevan sangat berbeda dalam file PPD. Di sini kami menggunakan algoritme yang secara otomatis (yang ingin mengedit secara manual ~3000 file PPD untuk tugas) menemukan rangkaian pengaturan opsi yang tepat untuk setiap kombinasi print-color-mode
( color
/ monochrome
), print-quality
( draft
/ normal
/ high
), dan print-content-optimize
( auto
/ photo
/ graphics
/ text
/ text-and-graphics
) dalam PPD printer saat ini. Jadi Anda memiliki akses mudah ke kualitas penuh atau kecepatan printer Anda tanpa perlu berurusan dengan pengaturan opsi khusus printer (opsi asli masih dapat diakses melalui antarmuka admin web).
Snap Aplikasi Printer HPLIP mengambil kode sumber HPLIP dari repositori pengemasan Debian dan bukan langsung dari HP, karena paket Debian memiliki ~80 tambalan yang memperbaiki bug yang dilaporkan ke HP tetapi tambalan tersebut tidak diterapkan di bagian hulu. Jadi dengan Snap, pengguna harus mendapatkan pengalaman yang sama dalam hal keandalan dan kualitas seperti pada paket Debian.
Dukungan untuk mengunduh plugin milik HPLIP melalui halaman tambahan di antarmuka web. Hal ini menambah dukungan untuk beberapa printer laser yang memerlukan firmware-nya dimuat setiap kali dihidupkan atau yang menggunakan format data pencetakan tertentu. Ini berfungsi baik di Snap dan dalam instalasi klasik Aplikasi Printer (harus dijalankan sebagai root, jika tidak, hanya pemeriksaan status plugin).
Dukungan untuk pemindaian pada printer multifungsi HP. ini memerlukan dukungan pemindaian di PAPPL (yang mengalami kemajuan baik di GSoC 2021).
Halaman pengujian PDF, misalnya dibuat dengan filter bannertopdf.
String yang dapat dibaca manusia untuk opsi vendor (Membutuhkan dukungan dari PAPPL: Masalah #58: Dukungan pelokalan)
Internasionalisasi/Lokalisasi (Membutuhkan dukungan PAPPL: Edisi #58: Dukungan lokalisasi)
Pemeriksaan level Tinta SNMP melalui fungsi ps_status() (Membutuhkan dukungan oleh PAPPL: Masalah #83: CUPS melakukan jajak pendapat level tinta IPP dan SNMP melalui backend, PAPPL seharusnya memiliki fungsi untuk ini)
Opsi pembuatan untuk filter cangkir, untuk dibuat tanpa libqpdf dan/atau tanpa libppd, yang pertama akan memungkinkan pembuatan Snap Aplikasi Printer ini tanpa mengunduh dan membuat QPDF
Untuk menjalankan dan menggunakan Aplikasi Printer ini, cukup instal dari Snap Store:
sudo snap install --edge hplip-printer-app
Kemudian ikuti petunjuk di bawah ini untuk menyiapkannya.
Untuk membuat Snap sendiri, jalankan di direktori utama repositori ini
snapcraft snap
Ini akan mengunduh semua paket yang diperlukan dan membangun Aplikasi Printer HPLIP. Perhatikan bahwa PAPPL (1.0 mendatang) dan filter cup (2.0 mendatang) diambil langsung dari repositori GIT mereka, karena belum ada rilis yang sesuai. Hal ini juga dapat menyebabkan Aplikasi Printer ini tiba-tiba tidak dapat dibangun lagi.
Untuk menginstal Snap yang dihasilkan dijalankan
sudo snap install --dangerous hplip-printer-app_1.0_amd64.snap
Aplikasi Printer secara otomatis akan dijalankan sebagai daemon server.
Masuk ke antarmuka web
http://localhost:8000/
Gunakan antarmuka web untuk menambahkan printer. Berikan nama, pilih printer yang ditemukan, lalu pilih merek dan model. Atur juga aksesori yang diinstal, media yang dimuat, dan opsi default. Jika printer adalah printer PostScript, konfigurasi aksesori dan default opsi juga sering kali dapat disurvei dari printer.
Jika entri printer Anda di antarmuka web bertuliskan "memerlukan plugin berpemilik", Anda perlu menginstal plugin HP. Untuk melakukannya, klik tombol "Plugin" di entri printer ini atau pada tombol "Instal Proprietary Plugin" di bawah "Pengaturan Lainnya" di halaman depan antarmuka web dan ikuti petunjuk di layar.
Kemudian cetak file PDF, PostScript, JPEG, Apple Raster, atau PWG Raster dengan
hplip-printer-app FILE
atau mencetak dengan CUPS, CUPS (dan juga penelusuran cangkir) temukan dan perlakukan printer yang diatur dengan Aplikasi Printer ini sebagai printer IPP tanpa driver (IPP Everywhere dan AirPrint).
Melihat
hplip-printer-app --help
untuk opsi lainnya.
Gunakan argumen "-o log-level=debug" untuk pencatatan log panjang di jendela terminal Anda.
Anda dapat menambahkan file ke /var/snap/hplip-printer-app/common/usb/
untuk aturan kekhasan USB tambahan. Edit file yang ada hanya untuk pengujian cepat, karena file tersebut diganti setiap kali Snap diperbarui (untuk memperkenalkan aturan baru).
Anda dapat mengedit file /var/snap/hplip-printer-app/common/cups/snmp.conf
untuk mengonfigurasi penemuan printer jaringan SNMP.
Anda juga dapat melakukan pembangunan "cepat dan kotor" tanpa melakukan snap dan tanpa perlu menginstal PAPPL, cup-filter 2.x, dan pappl-retrofit ke dalam sistem Anda. Anda memerlukan direktori dengan snapshot GIT terbaru dari PAPPL, snapshot GIT terbaru dari cup-filter, dan snapshot GIT terbaru dari pappl-retrofit (masing-masing cabang master). Semuanya perlu dikompilasi ( ./autogen.sh; ./configure; make
), instalasi tidak diperlukan. Instal juga file header dari semua perpustakaan yang diperlukan (menginstal "libcups2-dev" harus melakukannya).
Di direktori dengan hplip-printer-app.c jalankan baris perintah
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/
Ada juga Makefile, tetapi ini memerlukan PAPPL, cup-filter 2.x, dan pappl-retrofit untuk diinstal ke sistem Anda.
Berlari
./hplip-printer-app --help
Saat menjalankan versi non-snap, secara default, file PPD dicari di
/usr/share/ppd/
/usr/lib/cups/driver/
/var/lib/hplip-printer-app/ppd/
Anda dapat mengatur variabel lingkungan PPD_PATHS
untuk mencari tempat lain:
PPD_PATHS=/path/to/my/ppds:/my/second/place ./hplip-printer-app server
Sederhananya, daftar sejumlah jalur yang dipisahkan titik dua ke dalam variabel. Disarankan untuk membuat skrip pembungkus.
Perhatikan bahwa hanya file PPD untuk driver hpcups
HPLIP yang dipertimbangkan, file PPD lainnya diabaikan.
Printer hanya ditemukan melalui backend hp
HPLIP (USB) atau utilitas hp-probe
HPLIP (jaringan). Untuk yang terakhir, skrip pembungkus bernama HP
disertakan yang membuat utilitas digunakan seperti backend CUPS (hanya mode penemuan). Hal ini membuat hanya printer HP dan Apollo yang ditemukan. Printer dari produsen lain tidak didukung.
Pekerjaan disaring melalui hpcups
dan dikirim ke printer melalui backend hp
(USB dan jaringan).
Backend standar (bukan HPLIP) yang disediakan sebagai alternatif dalam Aplikasi Printer ini adalah backend CUPS dan bukan PAPPL, artinya untuk printer USB digunakan solusi quirk USB CUPS untuk masalah kompatibilitas, printer jaringan juga dapat digunakan dengan IPP, IPPS, dan Protokol LPD, dan penemuan printer SNMP dapat dikonfigurasi.
Aturan Quirk USB di /usr/share/cups/usb
dan file /etc/cups/snmp.conf
dapat diedit jika diperlukan.
Pastikan Anda telah menginstal HPLIP dan jika Anda ingin menggunakan backend standar, CUPS (setidaknya backendnya).
Anda juga memerlukan Ghostscript untuk mencetak pekerjaan PDF atau PostScript.
Untuk akses ke halaman pengujian testpage.ps
gunakan variabel lingkungan TESPAGE_DIR:
TESTPAGE_DIR=`pwd` PPD_PATHS=/path/to/my/ppds:/my/second/place ./hplip-printer-app server
atau untuk halaman pengujian yang Anda buat sendiri (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
Aplikasi Printer HPLIP Hak Cipta © 2020 oleh Till Kamppeter.
Ini berasal dari Aplikasi Printer HP PCL, model kerja pertama dari Aplikasi Printer raster menggunakan PAPPL. Ini tersedia di sini:
https://github.com/michaelrsweet/hp-printer-app
Aplikasi Printer HP PCL adalah Hak Cipta © 2019-2020 oleh Michael R Sweet.
Perangkat lunak ini dilisensikan di bawah Lisensi Apache Versi 2.0 dengan pengecualian untuk mengizinkan tautan ke perangkat lunak GPL2/LGPL2 (seperti CUPS versi lama). Lihat file "LISENSI" dan "PEMBERITAHUAN" untuk informasi lebih lanjut.