1. 程式人生 > >java客戶端呼叫印表機

java客戶端呼叫印表機

這種方式的問題就是 你的專案如果打包部署到雲服務上面  那就直接gg了

樓主的問題環境是:pdf內容已經在後臺用itextpdf已經畫好了,所以我想要達到的目的僅僅就是在瀏覽器端呼叫印表機直接列印就好了

在這中間嘗試了一些js外掛 但是都需要在頁面重新畫,但是我已經在後臺畫了一遍的好嗎,再讓我在頁面重新畫一遍,心裡是拒絕的,當然,最簡單的辦法就是,修改後臺,在後臺查詢資料返回到頁面,然後在頁面畫出來在列印,這是一種思路。

我的解決思路是:

後臺畫好的pdf,先把它在到伺服器指定目錄,然後頁面通過iiframe訪問存在伺服器剛剛儲存的這個檔案,然後js呼叫印表機列印;

這裡會用兩個問題:

1.檔案存到伺服器指定目錄後  怎麼訪問:可以在配置檔案裡面設定spring.resources.static-locations=file:/home

file後面是你係統指定的目錄,這樣就相當於將該目錄設定為專案的根目錄了,然後後臺直接將檔案存到這個目錄,然後iframe直接訪問系統根目錄就可以了找到這個檔案(因為專案打包jar後,沒法吧專案存到專案根目錄下面)

2.頁面直接呼叫印表機,不顯示列印預覽

頁面寫入    <iframe style="display:none" id="printIframe"></iframe>

js:  $("#printIframe").attr("src",src);(src是專案訪問檔案的路徑比如 localhost:8080/temp.pdf)

$("#printIframe")[0].contentWindow.print();

這樣要列印的內容不用顯示出來就可以列印,

描述不是很到位,有問題可以加群交流:790537003