IText与pdfObject.js在线展示后台生成pdf文件流
关于使用pdfObject.js与Itext配合展示后台传递的pdf流遇到的坑*
问题汇总
- 左上角文件名称是如何显示
- 点击下载的文件名如何动态传递名称
一.前端开发步骤
1.html引入js
<script type="text/javascript" src="js/pdfobject.js"></script>
2.css
<style type="text/css">.pdfobject-container { height: 90rem; border: 1rem solid rgba(0,0,0,.1); }</style>
3.html元素
<div id="pdfId"></div>
4.渲染pdf在线浏览
var url = "你的后台url路径"PDFObject.embed(url, "#pdfId");
二.后台代码
图中工具类是自己的Itext的document
ByteArrayOutputStream baos = null;baos = PwStockOutExportPdfUtil.createPdf(title,pwStockOut,mapList,items,historyList);response.setCharacterEncoding("UTF-8");response.setHeader("Content-Type", "application/pdf;charset=UTF-8");response.setContentType("application/pdf;charset=UTF-8");((HttpServletResponse)response).addHeader("Content-Disposition", "inline;filename="+ new String((title+DateFormatUtils.format(System.currentTimeMillis(), "yyyyMMdd")).getBytes(),"iso-8859-1") + ".pdf");OutputStream outStream = response.getOutputStream();outStream.write(baos.toByteArray());outStream.flush();outStream.close();
问题解决
- 左上角的汉字通过Itext
document.addTitle(title);
- 点击下载下载的文件名
((HttpServletResponse)response).addHeader("Content-Disposition", "inline;filename="+ new String((title+DateFormatUtils.format(System.currentTimeMillis(), "yyyyMMdd")).getBytes(),"iso-8859-1") + ".pdf");
response响应addHeader一定要是inline内联,否则打开浏览界面就会下载 ,这里可以查看inline和atachment区别
IText与pdfObject.js在线展示后台生成pdf文件流相关推荐
- PDF功能实现1——Java实现动态页面在后台生成PDF文件
# 项目描述: 1.项目功能需求:增加证明打印功能,打印时,需将内容生成pdf文件并保存,然后数据库增加一笔打印记录 2.功能分析:由于不单单只是页面打印,所以比较常用的window.print()首 ...
- itextword加公章 java_使用itext和freemarker来根据Html模板生成PDF文件,加水印、印章...
org.xhtmlrenderer flying-saucer-pdf-itext5 9.1.18 org.freemarker freemarker 2.3.27-incubating 将html模 ...
- pdf.js的使用(C#后台返回pdf文件流)
最近需要用到一个pdf展示的功能,本来是打算用浏览器自带的预览,直接用window.open打开,但是由于在磁盘上的pdf文件都是随机字符串命名,一些标题和下载名称会不对,所以引用了这个pdfjs插件 ...
- puppeteer api_使用Node.js和Puppeteer API生成PDF文件
puppeteer api Puppeteer is a Node library developed by Google and provides a high-level API for deve ...
- java生成pdf文件流_java 已经获取pdf代码,如何把他pdf文件保存到本机 要求用输出流做...
展开全部 一.iText介绍 iText是着名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的32313133353236313431303231363533e4b893e5b1 ...
- Itext生成pdf文件,itext+Freemarker生成pdf,(中文空白解决)
来源:https://my.oschina.net/lujianing/blog/894365 1.背景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等. ...
- 前端生成PDF 文件教程+在线demo案例
个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈 PDF 简介 PDF 全称Portable Document Format (PDF)(便携文档格式),该格式的显示与操作系统.分辨 ...
- jsPDF生成PDF文件,文件不全问题,后台进行文件下载,前台不下载
我是前端使用jsPDF进行生成PDF文件,使用Base64进行加密,解密:后台进行文件流下载 1.前端使用jsPDF和html2canvas进行生成PDF文件(当然有这同样的毛病,生成时候有滚动条的情 ...
- Java生成PDF文件(Itext篇)
在企业的信息系统中,报表处理一直占比较重要的作用,iText是一种生成PDF报表的Java组件.通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超链接显示或下载得到生成的报表,这样 ...
- 利用PDF.JS插件解决了本地pdf文件在线浏览问题(根据需要隐藏下载功能,只保留打印功能)
利用PDF.JS插件解决了本地pdf文件在线浏览问题(根据需要隐藏下载功能,只保留打印功能) 参考文章: (1)利用PDF.JS插件解决了本地pdf文件在线浏览问题(根据需要隐藏下载功能,只保留打印功 ...
最新文章
- 站在这山看着那山高,到了那山没柴烧.
- word python 域 操作_python实现在windows下操作word的方法
- Java如何实现二维码?【附源码】
- ABAP实例:如何设计和使用自定义的权限对象
- lacp可以在access接口吗_【思唯网络学院】【干货】LACP与PAGP是什么?有何区别?...
- Java多线程——线程范围内共享变量和ThreadLocal
- 每周送新书:Android软件安全、深入浅出Istio、软件架构设计
- 博客排名400-300的数据变化
- 谁手握账本?趣讲 ZK 的内存模型
- 电子之220V有效值峰值峰峰值
- c语言多字符和宽字符,2.1.5 多字节字符和宽字符
- U盘(电脑)文件夹变成exe(应用程序)怎么解决
- java实现银行卡卡号 Luhm 校验算法
- OSChina 愚人节乱弹 —— 开个小电影专栏放一天
- C# 操作Word批注(一) 插入、修改、删除Word批注
- 针对于“上传文件”和“触发方式” 的解决方案(Antd个例)
- android tv tts,android触摸语音事件
- java修炼三层境界
- JavaScript案例之使用验证码进行简单判断
- vue 动态生成下载二维码
热门文章
- 【工具-Hydra】暴力破解神器:Hydra-九头蛇
- 视频教程-轻松搞定Spring全家桶(初识篇)-Java
- 三、Win10 64位PyCharm下打包.py程序为可执行exe文件且兼容32位和64位
- 程序员校招社招简历模板分享和硬技能
- 南京大学计算机考研资料汇总
- qt QDir 枚举类型
- 2021-2004中国环境统计年鉴面板数据、环境面板数据
- 产业园 电气火灾监控系统的应用
- 第四期_Metasploit 基础(二)MSFconsole《Metasploit Unleashed Simplified Chinese version(Metasploit官方文档教程中文版)》
- http_load压力测试步骤