He hecho muchos proyectos web. La mayoría de las veces, cuando imprimo el contenido de la página, uso JavaScript para llamar al método de impresión incorporado del sistema para imprimir, es decir, llamar printcontrol.execwb (?,?) Para lograr funciones de vista previa de impresión e impresión directa. Aunque el efecto de impresión y la capacidad de control no son muy buenos, se puede usar apenas, y todavía está bien lidiar con la impresión general.
El código se ve así:
Código
Destacación del código producido por Actipro CodeHighLighter (Freeware) http://www.codehighlighter.com/-> // llame a printcontrol.execwb (?,?) Para lograr funciones de vista previa de impresión e impresión directa. (Algunas áreas no se pueden ocultar directamente imprimiendo utilizando el método print () proporcionado por el sistema) // Vista previa: si se debe mostrar la vista previa. NULL/FALSO: NO MOSTRADO, TRUE: FUNCIÓN DE MOSTRADA PRINTPAGE (PREVIE VISTA) {try {var content = window.document.body.innerhtml; var oreContent = content; while (content.indexof ("{$ pinthide}")> = 0) content = content.replace ("{$ Printhide}", "style = 'display: none'"); if (content.indexof ("id =/" printcontrol/"") <0) content = content+"<object id =/" printControl/"width = 0 height = 0 height = 0 hight = 0 hight = 0 ClassID =/"Clsid: 8856f961-340a-11d0-a96b-00c04fd705a2/"> </object> "; window.document.body.innerhtml = content; // printcontrol.execwb (7,1) Vista previa, (1,1) abierta, (4,1) Guardar As, (17,1) todo, (10,1) (10,1) All, 10,1) All, 10,1) All, (10,1) All, (10,1) All, (10,1) All, (10,1) All, (10,1) All, (10,1) All, (10,1) All, (10,1). Atributos, (6,1) imprimir, (6,6) imprimir directamente, (8,1) Configuración de la página if (Preview == NULL || Preview == false) printControl.execwb (6,1); else printControl.execwb (7,1); // olecmdid_print = 7; Olecmdexecopt_dontpromptuser = 6/olecmdexecopt_prompptuser = 1window.document.body.innerhtml = oricontent;} catch (ex) {alerta ("Error de ejecutar el script JavaScript"); }} function printConten (Preview, html) {try {var content = html; var oreContent = 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 ClassID =/"Clsid: 8856f961-340a-11d0-a96b-00c04fd705a2/"> </object> "; window.document.body.innerhtml = content; // printcontrol.execwb (7,1) Vista previa, (1,1) abierta, (4,1) Guardar As, (17,1) todo, (10,1) (10,1) All, 10,1) All, 10,1) All, (10,1) All, (10,1) All, (10,1) All, (10,1) All, (10,1) All, (10,1) All, (10,1) All, (10,1). Atributos, (6,1) imprimir, (6,6) imprimir directamente, (8,1) Configuración de la página if (Preview == NULL || Preview == false) printControl.execwb (6,1); else printControl.execwb (7,1); // olecmdid_print = 7; Olecmdexecopt_dontpromptuser = 6/olecmdexecopt_prompptuser = 1window.document.body.innerhtml = oricontent;} catch (ex) {alerta ("Error de ejecutar el script JavaScript"); }}Las dos funciones anteriores se colocan en un archivo JS. En el contenido de la página, el contenido de la parte especificada se puede imprimir aplicando el archivo de script y llamando a la función encapsulada adicional:
<script language = "javaScript"> function print (preview) {var text = document.getElementById ("content"). innerhtml; printConten (preview, text);}El efecto de impresión se muestra aproximadamente en la figura a continuación. Si la página impresa está en la página de cuadro, debe seleccionar la opción "Imprimir solo los marcos seleccionados".
El uso de este método no requiere que se instalen ningún control, lo que tiene buenas ventajas de compatibilidad. Sin embargo, el contenido del informe parece ser más problemático de controlar. Especialmente para imprimir algunos informes, es necesario generar contenido complejo, que también tiene ciertos defectos, pero en general, también es una mejor opción.
Más tarde, cuando necesitaba hacer un trabajo en la configuración de documentos, este control no se podía hacer, por lo que necesitaba un método o control que pudiera manejar mejor la configuración.
Por casualidad, encontré un mejor control de impresión que admite la impresión en varios formatos, y también el conjunto de identificación que me importa. Es potente y fácil de usar, y es muy recomendable.
Al usar este control, el efecto de impresión de un informe normal es el siguiente:
La impresión de los dos informes anteriores es en realidad similar, los cuales se imprimen parte del contenido HTML, pero este último se ve mejor y proporciona la configuración de función de informe muy completa.
El código es más o menos como sigue.
Código
<script language="javascript">function Print(preview) {var text = document.getElementById("content").innerHTML;printConten(preview, text);}</script><script language="javascript" src="http://www.cnblogs.com/Scripts/CheckActivX.js"></script><object id="LODOP" classID = "Clsid: 2105c259-1e0c-4534-8141-a753534cb4ca" ancho = 0 altura = 0> </objeto> <script language = "javascript"> var lodop = document.getElementByid ("lodop"); // Esta línea de declaración es para cumplir con la especificación DTD checkLodop (); </script> <script language = "javascript" type = "text/javaScript"> function previsor () {// imprime previsor createeliceSedata (); lodop.set_show_mode ("previsual_in_browse", 1); lodop.preview ();};};} Mantenimiento para ajustar la posición para el usuario createelicensedata (); lodop.print_setup ();}; function design () {// imprima el contenido y la posición de la configuración del desarrollador de diseño createelicensedata (); lodop.print_design ();}; functelicensedata () {lodop.print_init ("Query Report"); lodep.ap.htm (20, (20, informa "); 40, 610, 900, document.all ("contenido"). Innerhtml); lodop.preview ();} </script>Muchas veces, el contenido que no tenemos está controlado por CSS, por lo que a veces, si imprimimos parte de HTML sin estos estilos, el formato de tabla y las fuentes que salen pueden cambiar y no son muy atractivos. Entonces necesitas diseñar HTML.
Si establece un estilo para el contenido impreso, la interfaz será mucho mejor.
El código para configurar el estilo es el siguiente.
Código
<script language = "javascript" type = "text/javascript"> function preview () {// imprima vista previa createeliceSedata (); lodop.set_show_mode ("previsual_in_browse", 1); lodop.preview ();}; functel createlicensedata () type = 'text/css' rel = 'stylesheet' href = 'http: //www.cnblogs.com/themes/default/style.css'/> <style> <!-table {border: 1; background-color: #cbcbcc} td {background-color: #ffffe; border: 1; Color de fondo:#F1F1F3; Padding-Left: 5px; Border: 1}-> </style> "; var strFormhtml = strbystyle +" <body> " + document.getElementById (" contenido "). Innerhtml +" </body> "; lodop.add_print_htm (20, 40, 610, 900, 900, 900, 900, 900, 900. strformhtml); lodop.preview ();} </script>Lo anterior es la función de impresión del informe ordinario de la solución de impresión web introducida por el editor. Espero que sea útil para todos. Si tiene alguna pregunta, déjame un mensaje y el editor responderá a todos a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!