首先楼主遇到的问题是这样的: http://www.iteye.com/problems/95607
这种方式的问题就是 你的项目如果打包部署到云服务上面 那就直接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();
这样要打印的内容不用显示出来就可以打印,
描述不是很到位,有问题可以加Q:361528529