Baru-baru ini saya ingin menggunakan php untuk menyambung ke pencetak untuk mencetak kandungan. Saya telah melakukan beberapa langkah tetapi tiada apa yang berlaku versi terkini. Selepas memuat turun php_printer.dll.
, nyahzip fail dan letakkan dalam direktori versi php7.25: E:phpStudyphpphp-7.2.5ext
Untuk mengubah suai php.ini, saya menambah yang terbaik ayat: sambungan= php_printer.dll. Kemudian simpan dan mulakan semula pelayan.
Gunakan dalam PHP:
Laporkan ralat secara terus: Ralat maut: Ralat Tidak Ditangkap: Panggil ke undefined function printer_open() dalam E:Wtestphp1Study() dalam E:Wtestphp1Study Jejak tindanan: #0 {utama} dibuang dalam E:phpStudyWWWtest1.php pada baris 3
1. Keperluan
Gunakan kawalan PHP untuk menyambung ke pencetak
Pencetakan berterusan data dinamik masa nyata di tapak
2. Muat turun sambungan php_printer.dll yang sepadan dengan versi php
Tambahkan fail sambungan ke direktori ext
Edit php.ini dan tambah extension=php_printer.dll;
3 Gunakan
1
Di atas ialah struktur kod asas Jika printer_start_doc tidak dinyatakan, printer_start_page, pencetak tidak akan mencetak. 2. Pengenalan kepada kaedah pencetakan teks dan grafik khusus Tetapan awal untuk pencetak: printer_set_option Anda boleh menetapkan mod pencetakan, tajuk dokumen, bilangan salinan cetakan, format kertas, dsb. Buat fon: $font = printer_create_font('simsun', ketinggian fon, lebar fon, ketebalan fon, sama ada condong, sama ada untuk menggariskan, sama ada untuk menambah coretan, arah); Sebelum mencetak teks, anda mesti terlebih dahulu memilih fon printer_select_font($handle, $font); Gunakan printer_draw_text($handle,'text to be printed', bermula x, mula y); 4Menggunakan bahasa skrip yang ditaip lemah di sebelah pelayan untuk menangani perkakasan pada asalnya agak menyusahkan, dan terdapat banyak kesukaran dalam prosesnya.
Pelayan yang saya mula konfigurasikan pada Windows ialah Apache Semasa mencetak, saya sentiasa tidak dapat mencetak saiz biasa dan sentiasa mencetak tiga halaman berturut-turut. Kemudian, apabila saya menggunakan arahan php secara langsung pada baris arahan untuk menjalankan skrip, saya boleh mencetak secara normal Akhirnya, sebabnya ialah kebenaran untuk menjalankan perkhidmatan Apache telah ditukar kepada pengguna biasa dan ditukar kepada pentadbir super, atau. anda boleh log masuk sebagai pentadbir super.
Fon, sesetengah pencetak disertakan dengan perisian pelanggan yang sepadan. Tetapi menggunakan PHP untuk mengawal perisian pencetak adalah tidak berguna, jadi mencipta fon adalah perangkap Untuk nama fon, mula-mula cari teks yang sepadan dalam folder fon windows, kemudian klik kanan sifat untuk melihat nama, yang perlu. mengisi printer_create_font parameter pertama. Walau bagaimanapun:
Sesetengah jenis fon Cina tidak dapat dipaparkan dengan betul. Tiada penyelesaian setakat ini. Mungkin pencetak mempunyai memori terhad dan tidak boleh menyimpan semua fail fon.
Untuk membuat fon, anda perlu menentukan lebar dan tinggi, tetapi saya tidak tahu apa itu unit lebar dan tinggi, jadi saya hanya boleh mencubanya sendiri
Begitu juga, menyatakan kedudukan masalah memerlukan nilai koordinat kedudukan x y Kaedahnya ialah printer_draw_line untuk melukis garisan pepenjuru, dan anda boleh melukis garisan pepenjuru mengikut pengiraan nisbah tinggi.
Aksara Cina yang kacau dicetak Sebab: Data yang diserahkan menggunakan borang adalah dikodkan UTF-8, dan pencetak tidak semestinya dikodkan UTF-8 Anda perlu merujuk manual untuk menukar format pengekodan.
Mencetak berpuluh-puluh atau beratus-ratus tingkap secara berterusan membunuh saya, skrin biru Smecta. Pada akhirnya, ia adalah masalah dengan proses Apache A akan dibuat setiap kali anda mencetak semula, proses kitar semula Apache nampaknya tidak tepat pada masanya, sistem akan mati secara langsung kerana bilangan maksimum sambungan tidak mempunyai kesan. Penyelesaian akhir: Gantikan pelayan Nginx dan masalahnya selesai.
PHP mengendalikan pencetak bukankah lebih baik menggunakan JS secara terus