Saya telah melakukan banyak proyek web. Sebagian besar waktu saat mencetak konten halaman, saya menggunakan JavaScript untuk memanggil metode pencetakan bawaan sistem untuk dicetak, yaitu, call printControl.execwb (?,?) Untuk mencapai fungsi pratinjau pencetakan dan pencetakan langsung. Meskipun efek pencetakan dan kemampuan kontrol tidak terlalu baik, itu dapat digunakan hampir tidak, dan masih boleh berurusan dengan pencetakan umum.
Kode terlihat seperti ini:
Kode
Sorot Kode yang Diproduksi oleh Actipro CodeHighlighter (Freeware) http://www.codehighlighter.com/--> // Call PrintControl.execwb (?,?) Untuk mencapai fungsi pratinjau pencetakan dan pencetakan langsung. (Beberapa area tidak dapat disembunyikan secara langsung dengan mencetak menggunakan metode print () yang disediakan oleh sistem) // Pratinjau: Apakah akan menampilkan pratinjau. null/false: tidak ditampilkan, true: tampilan fungsi printPage (pratinjau) {coba {var content = window.document.body.innerHtml; var oricontent = content; while (content.indexof ("{$ printhide}")> = 0) content = content.replace ("{$ printhide}", "style = 'display: none'"); if (content.indexof ("id =/" printControl/"") <0) Content = Content+"<object id =/" printControl/"width = 0 Tinggi = 0 CLASSID=/"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2/"></OBJECT>";window.document.body.innerHTML=content;//PrintControl.ExecWB(7,1) Print preview, (1,1) Open, (4,1) Save As, (17,1) Select all, (10,1) Atribut, (6,1) cetak, (6,6) mencetak secara langsung, (8,1) pengaturan halaman IF (preview == null || pratinjau == false) printControl.execwb (6,1); else printControl.execwb (7,1); // olecmdid_print = 7; Olecmdexecopt_dontpromptuser = 6/olecmdexecopt_promptuser = 1window.document.body.innerhtml = oricontent;} catch (ex) {alert ("Kesalahan mengeksekusi skrip javascript."); }} fungsi printConten (pratinjau, html) {coba {var content = html; var oricontent = window.document.body.innerHtml; while(content.indexOf("{$printhide}")>=0) content=content.replace("{$printhide}","style='display:none'");if(content.indexOf("ID=/"PrintControl/"")<0) content=content+"<OBJECT ID=/"PrintControl/" WIDTH=0 HEIGHT=0 CLASSID=/"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2/"></OBJECT>";window.document.body.innerHTML=content;//PrintControl.ExecWB(7,1) Print preview, (1,1) Open, (4,1) Save As, (17,1) Select all, (10,1) Atribut, (6,1) cetak, (6,6) mencetak secara langsung, (8,1) pengaturan halaman IF (preview == null || pratinjau == false) printControl.execwb (6,1); else printControl.execwb (7,1); // olecmdid_print = 7; Olecmdexecopt_dontpromptuser = 6/olecmdexecopt_promptuser = 1window.document.body.innerhtml = oricontent;} catch (ex) {alert ("Kesalahan mengeksekusi skrip javascript."); }}Dua fungsi di atas ditempatkan dalam file JS. Di konten halaman, konten dari bagian yang ditentukan dapat dicetak dengan menerapkan file skrip dan memanggil fungsi yang dienkapsulasi lebih lanjut:
<script language = "javascript"> function print (preview) {var text = document.geteLementById ("content"). innerHtml; printConten (pratinjau, teks);}Efek pencetakan secara kasar ditunjukkan pada gambar di bawah ini. Jika halaman yang dicetak ada di halaman Frame, Anda harus memilih opsi "Cetak hanya bingkai yang dipilih".
Menggunakan metode ini tidak memerlukan kontrol apa pun untuk diinstal, yang memiliki keunggulan kompatibilitas yang baik. Namun, konten laporan tampaknya lebih merepotkan untuk dikendalikan. Khusus untuk mencetak beberapa laporan, perlu untuk mengeluarkan konten yang kompleks, yang juga memiliki cacat tertentu, tetapi secara keseluruhan, itu juga merupakan pilihan yang lebih baik.
Kemudian, ketika saya perlu melakukan beberapa pekerjaan pada pengaturan dokumen, kontrol ini tidak dapat dilakukan, jadi saya membutuhkan metode atau kontrol yang dapat menangani pengaturan dengan lebih baik.
Secara kebetulan, saya menemukan kontrol pencetakan yang lebih baik yang mendukung pencetakan dalam berbagai format, dan juga set ID yang saya pedulikan. Ini kuat dan mudah digunakan, dan sangat disarankan.
Saat menggunakan kontrol ini, efek pencetakan dari laporan normal adalah sebagai berikut:
Pencetakan dua laporan di atas sebenarnya serupa, keduanya dicetak bagian dari konten HTML, tetapi yang terakhir terlihat lebih baik dan menyediakan pengaturan fungsi laporan yang sangat lengkap.
Kode ini kira -kira sebagai berikut.
Kode
<script language = "javaScript"> function print (preview) {var text = document.geteLementById ("content"). innerHtml; printConten (pratinjau, teks);} </script> <script = "javascript" src = "http://www.cnblogs.cripts/scripts =" http://www.cnblogs.cripts/scripts = "http://www.cnblogs.cripts/scripts =" http://www.cnblogs.cript/scripts = "http:/www.cnblogs.cript/scripts = id = "lodop" classId = "clsid: 2105c259-1e0c-4534-8141-a753534cb4ca" width = 0 tinggi = 0> </object> <script language = "javascript"> var lodop = document.geteLementById ("lodop"); // Baris pernyataan ini adalah untuk mematuhi spesifikasi DTD checkLoDOp (); </script> <script language = "javascript" type = "text/javascript"> function preview () {// preview preview createLicensedata (); lodop.set_show_mode ("preview_in_browseP (1); lodop.set_show_mode (" preview_in_in_browse (1); lodop.set_show_mode ("preview_in_in_browse (1); lodop.set_show_mode (" preview_in_in_browse "; {// Cetak Pemeliharaan Untuk Menyesuaikan Posisi untuk Pengguna CreateTelicensEdata (); lodop.print_setup ();}; function Design () {// Cetak konten dan posisi pengaturan pengembang desain createLicensEdata (); lodop.print_design ();} fungsi createLicensEdata (); lodop.print_design ();} function createlicensenseData (); lodop.print_design ();} function createlicensenseData () {{function {); function createlicenseData () {); function createlicenseData () {); function createlicenseData () {); function createlicenseData () {) Laporkan "); lodop.add_print_htm (20, 40, 610, 900, document.all (" content "). InnerHtml); lodop.preview ();} </skrip>Sering kali, konten yang tidak kita miliki dikendalikan oleh CSS, jadi kadang-kadang, jika kita mencetak bagian dari HTML tanpa gaya ini, format tabel dan font yang keluar dapat berubah dan tidak terlalu tampan. Maka Anda perlu menata html.
Jika Anda mengatur gaya untuk konten yang dicetak, antarmuka akan jauh lebih baik.
Kode untuk mengatur gaya adalah sebagai berikut.
Kode
<bahasa skrip = "javascript" type = "text/javascript"> function preview () {// print preview createLicensedata (); lodop.set_show_mode ("preview_in_browse"; lodop.preview ();}; function createTelicensEdata (); lodop.preview ();}; function createTelicensEdata () {) {lodop.preview ();}; function createTelicensEdata () {) {lodop.preview ();}; function createTelicensEdata () {) {) {) {lodop.preview ();}; function createTelicensEData () {) {) {) {) {{); = "<type type = 'text/css' rel = 'styleSheet' href = 'http: //www.cnblogs.com/themes/default/style.css'/> <tyle> <!-Table {border: 1; latar belakang: #cbcbcc} td {latar belakang latar belakang: 1; latar belakang: #cbcbcc {tabel {latar belakang: #cbcbcc {latar belakang: #cbcbcc {1; Latar Belakang-Color:#f1f1f3; padding-left: 5px; border: 1}-> </tyle> "; var strformHtml = strbodystyle +" <body> " + document.geteLementById (" content "). INNERHTML +" </body> "; lodop.add_print_html +" </body> "; lodop.add_print_html +" </body, 900, lodop.add_print_html + ", strormHtml); lodop.preview ();} </script>Di atas adalah fungsi pencetakan laporan biasa dari solusi pencetakan web yang diperkenalkan oleh editor. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!