Я сделал много веб -проектов. Большую часть времени при печати содержимого страницы я использую JavaScript, чтобы вызвать встроенный метод печати системы для печати, то есть вызов printcontrol.execwb (?,?) Для достижения функций прямого печати и печати. Хотя эффект печати и управляемость не очень хороши, его можно использовать едва, и все еще можно иметь дело с общей печати.
Код выглядит так:
Код
Выделение кода, созданное Actipro CodeHighlighter (Freeware) http://www.codehighlighter.com/--> // Call PrintControl.execwb (?,?) Для достижения функций прямого печати и печати. (Некоторые области не могут быть скрыты непосредственно путем печати с использованием метода print (), предоставленного системой) // Предварительный просмотр: отобразить предварительный просмотр. null/false: не отображается, true: display function printpage (preview) {try {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+"<объект идентификатор =/" printControl/"width = 0 eight = 0 Classid =/"clsid: 8856f961-340a-11d0-a96b-00c04fd705a2/"> </object> "; window.document.body.innerhtml = content; // printcontrol.execwb (7,1) print, (1,1) Open, (4,1) (17,1). Атрибуты, (6,1) Печать, (6,6) Печать непосредственно, (8,1) Настройки страницы if (preview == null || preview == 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 («Ошибка выполнения JavAscript Script.»); }} функция printConten (preview, html) {try {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+"<объект id =/" wild/"with = 0? Classid =/"clsid: 8856f961-340a-11d0-a96b-00c04fd705a2/"> </object> "; window.document.body.innerhtml = content; // printcontrol.execwb (7,1) print, (1,1) Open, (4,1) (17,1). Атрибуты, (6,1) Печать, (6,6) Печать непосредственно, (8,1) Настройки страницы if (preview == null || preview == 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 («Ошибка выполнения JavAscript Script.»); }}Вышеуказанные две функции размещаются в файле JS. В содержании страницы содержимое указанной части может быть напечатано, применяя файл скрипта и вызов дополнительной инкапсулированной функции:
<script language = "javascript"> function print (preview) {var text = document.getelementbyid ("content"). innerhtml; printconten (preview, text);}Эффект печати примерно показан на рисунке ниже. Если напечатанная страница находится на странице кадры, вам необходимо выбрать опцию «Печать только выбранные кадры».
Использование этого метода не требует установки элементов управления, что имеет хорошие преимущества совместимости. Тем не менее, содержание отчета, по -видимому, более хлопотно для контроля. Особенно для печати некоторых отчетов необходимо вывести сложный контент, который также имеет определенные дефекты, но в целом это также лучший выбор.
Позже, когда мне нужно было выполнить некоторую работу по настройке документов, этот элемент управления не мог быть сделан, поэтому мне понадобился метод или управление, которые могли бы лучше обрабатывать настройку.
Случайно, я нашел лучший элемент управления печати, который поддерживает печать в различных форматах, а также набор ID, который я забочусь. Он мощный и прост в использовании, и это очень рекомендуется.
При использовании этого управления эффект печати нормального отчета заключается в следующем:
Печать двух вышеупомянутых отчетов на самом деле похожа, оба из которых напечатаны частью контента HTML, но последний выглядит лучше и обеспечивает очень полные настройки функции отчета.
Код примерно следующим образом.
Код
<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/Chckact. id = "lodop" classid = "clsid: 2105c259-1e0c-4534-8141-a753534cb4ca" width = 0 height = 0> </object> <script language = "javascript"> var lodop = document.getelementbyid ("lodop"); // Эта строка оператора заключается в том, чтобы соответствовать спецификации DTD CheckLodop (); </script> <script language = "javascript" type = "text/javascript"> function preview () {// preview preview createLiCensedAta (); lodop.set_show_mode ("preview_in_browse", 1); 1); 1); {// Печать технического обслуживания, чтобы настроить позицию для пользователя createLiCensEdata (); lodop.print_setup ();}; function design () {// print Содержание и положение настройки разработчика дизайна createLiCensEdata (); lodop.print_design ();}; functeLiCensEdata () {lodop.print_init ();}; Отчет "); lodop.add_print_htm (20, 40, 610, 900, document.all (" content "). Innerhtml); lodop.preview ();} </script>Много раз контент, который у нас нет, контролируется CSS, поэтому иногда, если мы печатаем часть HTML без этих стилей, формат таблицы и шрифты, которые выходят, могут измениться и не очень красивы. Тогда вам нужно стилизовать HTML.
Если вы установите стиль для печатного контента, интерфейс будет намного лучше.
Код для настройки стиля выглядит следующим образом.
Код
<script language = "javascript" type = "text/javascript"> function preview () {// print preview createLiCensedAta (); lodop.set_show_mode ("preview_in_browse", 1); lodop.preview ();}; functionElicensedAta () {lodop.print_inte (); "<link type = 'text/css' rel = 'styleSheet' href = 'http: //www.cnblogs.com/themes/default/style.css'/> <style> <!-Таблица {граница: 1; фоновый цвет: #cbccc} td {founal-color: #fffe; 1; фоновый цвет:#f1f1f3; ladding-left: 5px; граница: 1}-> </style> "; var strformhtml = strbodystyle +" <body> " + document.getelementbyid (" content "). innerhtml +" </body> strformhtml); lodop.preview ();} </script>Выше приведено обычная функция печати отчетов в решении веб -печати, представленной редактором. Я надеюсь, что это будет полезно для всех. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит всем вовремя. Большое спасибо за вашу поддержку сайту wulin.com!