當前位置:首頁 » 網頁前端 » web一鍵列印
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web一鍵列印

發布時間: 2023-06-12 13:01:10

㈠ 如何在java web項目中實現列印功能,比如一

你可以了解下jatoolsprint 目前所遇到的列印問題都可以解決。
不過要裝一個控制項。大小60K.
這是他們網上的介紹。你可以了解下。

jatoolsPrinter (傑表.列印控制項)是一款實現網頁套打的專用工具。作為web應用開發者,我們經常會遇到在瀏覽器中列印報表、票據的需求,這些需求瀏覽器本身的列印功能一般不能滿足, 如精確分頁,套打等。這就需要有一種能解決常見的瀏覽器端列印問題的軟體工具,這也是 jatoolsPrinter 的研發背景。

jatoolsPrinter 的特點是可以直接對web頁面進行精確的分頁列印。jatoolsPrinter 通過在網頁中嵌入控制項,解決了web客戶端精確列印,批量列印,列印配置自動保留等問題。 具體功能有:

支持設置列印參數,指定輸出列印機、紙張類型,列印方向(橫、豎)等 。
支持html格式的頁腳、頁眉設置,也就是說,頁腳頁眉可設置圖片等,如公司logo。
支持程序分頁與自動分頁。
支持列印參數自動保留,待下一次列印同一票據時,自動設置,這使客戶端也可以控制列印參數。
支持列印預覽,支持預覽時指定頁、指定份數列印。
支持直接列印指定票據的URL。
支持票據及其附件的批量列印。
支持取得本機中的可用列印機,可用紙張類型列表,幫您設計出更友好的參數設置界面。
支持回調,可以幫助您在列印後自動處理有關事務,比如列印後自動關閉窗口、自動遞交表單數據等。
支持票據套打時,底圖僅在列印預覽時顯示,不輸出到列印機。
小巧,整個控制項只有60K。不需要額外的軟體包支持。
與您項目採用的技術標准無關,J2EE、.NET 項目均可。
IE 5.5+ 中適用。

㈡ 什麼是Web列印,最好說個定義,還有是怎樣實現的,請說的詳細一點,謝!!

就是網頁列印IE
我們知道要實現Web方式的列印不外乎三種方法:第一就是利用大家都熟悉的Office工具來實現Web列印,如利用Word或Excel的列印工具來實現Web列印,該方法的難點是怎樣把數據從網頁中導入Word或Excel中;第二就是利用IE瀏覽器自帶的列印控制項來實現Web列印,該方法的難點是怎樣在程序中控制瀏覽器列印控制項中的各項設置;第三就是利用第三方的控制項或報表軟體來實現Web列印,該方法的難點在於大多數的報表軟體都是有償使用的,因此不得不從經濟的角度來考慮了。對於第三種方法,這一類的控制項有FileSystemObject組件、ScriptX.cab控制項等,這一類的報表軟體有如意報表、用友公司的Cell插件、《靚妹》全動態Web報表等。這里對它們的用法就不作說明了,只要參照其提供的說明書就能夠駕馭它們。以下筆者將重點講述前兩種方法。

利用Office工具實現列印

http://blog.csdn.net/xwchen/archive/2007/05/31/1633103.aspx

㈢ word里web視圖怎麼全部列印出來求救!!

web視圖是作為網頁瀏覽用的,所以列印的時候有兩個選擇,一個是採用橫排列印,另一個就是切換成頁面視圖,然後調整內容(比如表格,可以右鍵點擊表格選擇「自動調整」→「根據窗口調整表格」然後再進行細微調整)到適合列印的形式。

㈣ web 實現列印功能,跳過頁面預覽,跳過選擇列印機,直接列印!

選中 右鍵 列印選中區域

㈤ web列印有那幾種方法

一、瀏覽器的列印功能菜單

這種方案的優勢是不需要對瀏覽器作任何擴充,是最簡單的辦法,但問題也最多,如:

不能精確分頁。瀏覽器一般是根據用戶設置的頁面大小,web頁面的內容多少,來自行決定分頁位置,程序員很難控制。會有頁腳頁眉干擾。

不能准確對齊邊邊距及列印文字。

不能解決連續列印。比如,不是僅列印一張票據,而是連續一次列印若干個票據。

二、使用webbrowser控制項+ javascript

這實際上,是瀏覽器列印功能菜單的一種程序調用,與列印功能菜單沒什麼兩樣。分頁的問題仍然存在,只不過,可以讓用戶不用去點菜單,直接在網頁中的一個按鈕,或一個鏈接裡面調用罷了。

三 、使用print css

這是一種最理想的實現web套打的方法。這種方法通過在html文檔中,嵌入列印相關的css樣式,來實現對html文檔輸出列印的控制,比 如設置紙張大小,紙張縱橫方向,列印邊距,分頁等。顯而易見,這種方式成本小,不需要下載任何插件,而且跨平台性非常好。print css推出已經有些時日,但遺憾的是,至今沒有一個廠商的瀏覽器很好地實現了這些標准,這使得程序員目前還不能利用print css進行實際的開發。關於列印css,參見http://css-discuss.incutio.com /?page=PrintStylesheets

四 、使用PDF文件

用這種方式,就是從伺服器端下載一個pdf文件流,在IE中用adobe插件打開,然後用adobe的列印菜單進行列印,雖然這種方案,也能 實現精確套打,但需要下載adobe插件。這是國外報表工具經常推薦的一種列印方法,但在pdf不那麼普及的中國,這種方案不是最好選擇。

㈥ web 實現大量列印

問題描述:

在B/S項目中需要列印大量的圖片,我們使用window.print,但是當數據量大至上萬的時候,將圖片載入出來需要一些時間,載入出來之後列印,如果用戶關閉了列印界面會導致列印頁的缺失。

解決思路:

1.IE,使用ActiveX控制項,非IE,使用Flash插件。這種思路不同的瀏覽器開發方式不一樣,IE/FF/GROME

2.開發一個exe,客戶端安裝到本地服務,使用HTTP通訊方式。通過JS發送HTTP請求給本地的服務,本地服務起一個小型的HTTP server接收請求,然後返回數據,JS解析,顯示在UI上。比如將列印的參數傳值到本地服務,本地服務去調用列印機,使瀏覽器資源得到釋放。

我們使用第二種思路。

嘗試了以下方法:

1.HttpPrinter

採用原因 免費  ,OME費用很便宜的,而且不限制時間和數量.還可以購買源碼的。

HttpPrinter.com

2.葡萄城的ActiveReports

中有B / s端的列印使用window.print實現

https://demo.grapecity.com.cn/ActiveReports/ASPNET/ControlExplorer/Viewers/Default.aspx?category=1001&action=14

另外有C / S端的列印,無法與瀏覽器交互,但是可以去改進

https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=48785&extra=page%3D1

3. Lodop分為收費版與免費版

 (1)使用Lodop插件,需要客戶端安裝一個服務,服務的埠默認是8000或18000

 (2)如何購買和使用列印控制項的Lodop的注冊號

http://blog.sina.com.cn/s/blog_721e77e50100nfzs.html

 (3)Lodop樣例演示

http://www.lodop.net/LodopDemo.html

考量問題:

(1)免費版有水印

4. JCP分為收費版與免費版

  安裝程序需要替換

  網官   http://printfree.jatools.com/

 考量問題:

免費版只適合於IE瀏覽器

圖片需要渲染到頁面,列印時釋放瀏覽器資源可以做其他操作

收費版jatoolsPrint支持大部分瀏覽器

5.jquery列印

底層是window.print方法

最後考量,我們決定將的ActiveReports中的C / S端程序打包成EXE,利用自定義協議實現打開本地exe服務,使用HTTP方式實現瀏覽器與本地服務的通訊。

㈦ web 批量列印

排好一個版面,循環輸出被選中的信息,每輸出一個結果就輸出一個分頁
分頁可以用:
Pagebreak:在列印的時候強迫在樣式控制的對象前後換頁。

Before:設置對象前出現的頁分割符。設置為always時,始終在對象之前插入頁分割符。相對應的CSS屬性是」page-break-before」。

After:設置對象後出現的頁分割符。設置為always時,始終在對象之後插入頁分割符。相對應的CSS屬性是」 '> 。

用page-break-after
page-break-after版本:CSS2 兼容性:IE4+ 繼承性:無
語法:
page-break-after : auto | always | avoid | left | right | null
取值:
auto : 假如需要在對象之後插入頁分割符
always : 始終在對象之後插入頁分割符
avoid : 未支持。避免在對象後面插入頁分割符
left : 未支持。在對象後面插入頁分割符直到它到達一個空白的左頁邊
right : 未支持。在對象後面插入頁分割符直到它到達一個空白的右頁邊
null : 空白字元串。取消頁分割符設置

㈧ java web 批量列印

實現代碼如下:

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<%@ taglib prefix ="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath() %>/css/bid.css"/>
<title>批量列印模板</title>
<script type="text/javascript" language="javascript">
function printOnload(){
var count = <s:property value="uriList.size()"/>;
var index;
for(i = 0;i < count;i++){
index = i + 1;
//把iframe的html挪到div上
document.getElementById('page' + index).innerHTML
= window.frames[0].document.getElementsByTagName('body')[0].innerHTML;
}
}
</script>

<!-- media="print"表示改樣式只在列印預覽或列印的時候才生效 -->
<style media="print" type="text/css">
.NOPRINT{display:none;}
.PageNext{page-break-after: always;}
.none{}
</style>

</head>

<body onload="printOnload()">
<!-- 根據urlList,生成<div> <iframe><iframe/></div> 這樣格式的頁面-->
<s:iterator value="uriList" status="status1" id="uri">
<div style="<s:if test='#status1.count != uriList.size()'>page-break-after: always;</s:if>" id="page${status1.count}">
<iframe src="<%=request.getContextPath() %>${uri }"></iframe>
</div>
</s:iterator>
</body>
</html>

首先得構造一個適合列印的頁面,然後直接用瀏覽器的列印功能就可以 :

1、後台request保存了一個List<URLObj>,uri屬性表示請求地址

2、該列印demo頁面,根據List<URLObj>,用struts2標簽在body上構建<div><iframe></iframe></div>,iframe打開的是每一個需要批量列印的頁面

3、頁面載入完成後,調用printOnLoad函數,把iframe裡面的html挪到div上