html转pdf后 框会消失,html或其它文件转pdf弹出打开保存框
第一步:下载wkhtmktopdf软件,安装在指定的目录,如:C:\htmlToPdf\wkhtmltopdf,
第二步:把安装好的wkhtmltopdf文件目录加到环境变量Path路径中,
public void convertFile(){
HttpURLConnection con = null;
URL url = null;
Process p = null;
String cmd = "html2pdf";//安装文件目录名,此名是在linux下的,其它可以自己加目录
try {
String sessionid = Struts2Util.getRequest().getSession().getId();
System.out.println("sessionid==" + sessionid);
url = new URL(
" http://10.168.2.181:8080/scm/quote_extra!print.action");
con = (HttpURLConnection) url.openConnection();
con.setRequestProperty("Cookie", "JSESSIONID=" + sessionid);
con.connect();
int size = 0;
byte[] buf = new byte[1024];
BufferedInputStream bis = new BufferedInputStream(con
.getInputStream());
StringBuffer strb = new StringBuffer();
while ((size = bis.read(buf)) != -1) {
strb.append(new String(buf, 0, size));
}
FileWriter writer = null;
File file = new File("/tmp/quote_print.html");
writer = new FileWriter(file);
writer.write(strb.toString());
writer.flush();
writer.close();
ProcessBuilder pb = new ProcessBuilder(cmd, "/tmp/quote_print.html",
"/tmp/quote_print.pdf");//使用插件进行转换
pb.redirectErrorStream(true);
p = pb.start();
InputStreamReader ir = new InputStreamReader(p.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
String line;
while ((line = input.readLine()) != null) {
System.out.println(line);
}
// 提示下载
HttpServletResponse response = Struts2Util.getResponse();
response.setContentType("APPLICATION/DOWNLOAD");
response.setHeader("Content-Disposition", "attachment; filename="
+ "PrintQuote" + (new Random()).nextInt() + ".pdf");// PackingSlip是文件名
java.io.OutputStream os = response.getOutputStream();
java.io.FileInputStream fis = new java.io.FileInputStream(
"/tmp/quote_print.pdf");
byte[] b = new byte[1024];
int i = 0;
while ((i = fis.read(b)) > 0) {
os.write(b, 0, i);
}
fis.close();
os.flush();
response.flushBuffer();
os.close();
bis.close();
con.disconnect();
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}finally{
if(p!=null){
p.destroy();
}
}
}
html转pdf后 框会消失,html或其它文件转pdf弹出打开保存框相关推荐
- IE浏览器下载excel文件时不弹出下载保存提示框的解决方法
在IE浏览器中下载文件的时候,下载保存的提示框不弹出了,特意咨询了一下解决的方法,特来和大家分享. 1.打开"我的电脑"后请点击工具列的:"工具 -- 文件夹选项&quo ...
- php 消息对话框弹出,php弹窗代码_php弹出消息提示框的二种方法
摘要 腾兴网为您分享:php弹出消息提示框的二种方法,优衣库,新浪博客,万师傅,顺丰等软件知识,以及符号,甘肃农商银行,彗星小,kindle人社区,广东省公务用车管理,宝鸡在线,火影忍者英文版,寂静岭 ...
- Visio直接粘贴进Word的矢量图,采用Adobe导出PDF后图片内容存在缺失的解决方案; 打印生成PDF,字体的加粗效果会很不明显的解决方案;
问题一 Visio直接粘贴进Word的矢量图,采用Adobe导出PDF后图片内容存在缺失 目标效果: 但是导成PDF后字总是消失,成了 调整Visio内容没用,尝试各种网上办法没用.师妹的福昕可 ...
- 案例:文件下载需求:1. 页面显示超链接 2. 点击超链接后弹出下载提示框 3. 完成图片文件下载||中文文件问题
文件下载需求: 1. 页面显示超链接 2. 点击超链接后弹出下载提示框 3. 完成图片文件下载 * 分析: 1. 超链接指向的资源如果能够被浏览器解析,则在浏览器中展示 ...
- bootstrap弹出的模态框水平垂直居中的实现
学习javascript从入门到放弃!,这是第一篇随笔,经验不足,如有不当之处,还望指出.好了废话不多说直接切入正题吧 1.bootstrap默认的model写法: //触发模态框的button &l ...
- qt自定义按钮类,每个按钮自带一个右键弹出框,如何使同一时刻只显示一个弹出框
提要 继承于QPushButton的自定义按钮类,其右键弹出一个弹框,创建多个这样的自定义按钮在窗口中,每一时刻只显示一个右键弹出框,避免同一时刻,多个按钮右键弹出弹出框后,未及时关闭弹出框导致的同一 ...
- 计算机上的框英文,电脑打开steam平台弹出一个英文框的解决方法
现在玩绝地求生的人越来越多了,想要玩吃鸡游戏,首先要启动Steam平台.很多朋友下载Steam之后总提示无法在非英文文件夹运行,造成游戏无法继续运行,这要怎么解决?针对此疑问,小编来和大家说说一招解决 ...
- ECSHOP 如何删除商品列表页 购买弹出 商品属性框后面的价格
场景如图: 商品列表页 购买弹出 商品属性框是由js文件控制的. 打开JS文件js/common.js 问题一.弹出后属性多时,看不到[购买][取消]按钮 搜索代码: newDiv.style.hei ...
- 使用pyqt弹出消息提示框
使用pyqt弹出消息提示框 安装 pyqt 安装遇到问题 `No matching distribution found for PyQt5-Qt5>=5.15.2 (from pyqt5)` ...
最新文章
- COJ 0995 WZJ的数据结构(负五)区间操作
- 数据蒋堂 | SQL是描述性语言?
- 使用visual studio code调试php代码
- 【笔记】An explainable deep machine vision framework for plant stress phenotyping
- matlab中tenmat,tensor_toolbox_2.5 2014最新的张量的工具包, 中包含了各种 函数。 matlab 238万源代码下载- www.pudn.com...
- VTK:背景颜色BackgroundColor用法实战
- J2EE与.NET技术架构的比较
- 2017.6.28 文艺平衡树 思考记录
- 访问tomcat服务器文件路径,外置tomcat映射服务器路径以及springboot内置tomcat映射路径配置...
- 【Coursera】DNS加速器
- comsol 4.4 matlab,如何使用COMSOL with MATLAB的清单
- 如何更改微信标签名字_微信如何设置备注及标签 来学习吧
- 网易邮箱写邮件HTML转换按钮,网易邮箱帮助中心 - 写信
- 小米手机与计算机如何连接网络连接,小米手机连接不上电脑怎么办 图文教你小米手机怎么连接电脑...
- sql 事务(Transaction)
- make VERBOSE=1等的作用
- Connection could not be established with host smtp.163.com 阿星小栈
- Python OpenCV 实现对图片旋转矩形的裁剪
- 将原神角色导入unity 完整版
- C++习题--求余数
热门文章
- 单例模式示例_单例设计模式示例
- java中集合选取怎么选_集合中的可选
- 502无法解析服务器标头_编写下载服务器。 第三部分:标头:内容长度和范围...
- JDK 13:VM.events已添加到jcmd
- JDK 8 BigInteger精确缩小转换方法
- Java命令行界面(第20部分):JSAP
- 自动生成优化的Java类专业知识
- 数据聚合Spring Data MongoDB:嵌套结果
- lambda ::_Lambda项目:迈向多核及超越
- java并发任务执行_Java并发性-任务反馈