问题描述
我想实现一个功能,想要的效果就是:点击一个Jsp上的按钮(该按钮会传递文件的路径),然后就弹出打印选项对话框,然后开始打印指定的文件。请问有人实现过类似的功能吗?求解答,谢谢。
解决方案
解决方案二:
PDF或Word都带有打印的功能,你自己实现打印的页面设置有系统自带的做得好吗?java来实现打印一般都是读取系统数据用PDF或Word去打开来实现套打然后用户自己去点这些软件上面的打印按钮
解决方案三:
引用1楼cbxjj的回复:
PDF或Word都带有打印的功能,你自己实现打印的页面设置有系统自带的做得好吗?java来实现打印一般都是读取系统数据用PDF或Word去打开来实现套打然后用户自己去点这些软件上面的打印按钮
谢谢你的答复。是这样的,我想实现这样的功能是为了不让用户看到将要打印的文件,而且我不是要自己实现打印的页面设置,我是要调出PDF或Word的打印设置对话框。PS:我现在就是在做一个套打系统,哈
解决方案四:
不知道有没有现成的工具,不过可以用poi.jar将文档读进来,不过好像只能读office文档,pdf貌似不可以,然后去参考开源报表里面的打印功能的实现。
解决方案五:
用applet
解决方案六:
word用jacobpublicstaticvoidprintWord(StringfilePath){ComThread.InitSTA();ActiveXComponentwd=newActiveXComponent("Word.Application");try{//不打开文档Dispatch.put(wd,"Visible",newVariant(true));Dispatchdocument=wd.getProperty("Documents").toDispatch();//打开文档Dispatchdoc=Dispatch.invoke(document,"Open",Dispatch.Method,newObject[]{filePath},newint[1]).toDispatch();//开始打印Dispatch.callN(doc,"PrintOut");wd.invoke("Quit",newVariant[]{});}catch(Exceptione){e.printStackTrace();}finally{//始终释放资源ComThread.Release();}}
解决方案七:
pdf.Adobe的acrord32.exepublicstaticbooleanprintPdf(StringpdfPath){try{Runtime.getRuntime().exec("cmd.exe/Cstartacrord32/P/h"+pdfPath);returntrue;}catch(Exceptione){e.printStackTrace();returnfalse;}}