关于使用pdfObject.js与Itext配合展示后台传递的pdf流遇到的坑*

问题汇总

  1. 左上角文件名称是如何显示
  2. 点击下载的文件名如何动态传递名称

一.前端开发步骤

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();

问题解决

  1. 左上角的汉字通过Itext document.addTitle(title);
  2. 点击下载下载的文件名
 ((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文件流相关推荐

  1. PDF功能实现1——Java实现动态页面在后台生成PDF文件

    # 项目描述: 1.项目功能需求:增加证明打印功能,打印时,需将内容生成pdf文件并保存,然后数据库增加一笔打印记录 2.功能分析:由于不单单只是页面打印,所以比较常用的window.print()首 ...

  2. itextword加公章 java_使用itext和freemarker来根据Html模板生成PDF文件,加水印、印章...

    org.xhtmlrenderer flying-saucer-pdf-itext5 9.1.18 org.freemarker freemarker 2.3.27-incubating 将html模 ...

  3. pdf.js的使用(C#后台返回pdf文件流)

    最近需要用到一个pdf展示的功能,本来是打算用浏览器自带的预览,直接用window.open打开,但是由于在磁盘上的pdf文件都是随机字符串命名,一些标题和下载名称会不对,所以引用了这个pdfjs插件 ...

  4. 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 ...

  5. java生成pdf文件流_java 已经获取pdf代码,如何把他pdf文件保存到本机 要求用输出流做...

    展开全部 一.iText介绍 iText是着名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的32313133353236313431303231363533e4b893e5b1 ...

  6. Itext生成pdf文件,itext+Freemarker生成pdf,(中文空白解决)

    来源:https://my.oschina.net/lujianing/blog/894365 1.背景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等. ...

  7. 前端生成PDF 文件教程+在线demo案例

    个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈 PDF 简介 PDF 全称Portable Document Format (PDF)(便携文档格式),该格式的显示与操作系统.分辨 ...

  8. jsPDF生成PDF文件,文件不全问题,后台进行文件下载,前台不下载

    我是前端使用jsPDF进行生成PDF文件,使用Base64进行加密,解密:后台进行文件流下载 1.前端使用jsPDF和html2canvas进行生成PDF文件(当然有这同样的毛病,生成时候有滚动条的情 ...

  9. Java生成PDF文件(Itext篇)

    在企业的信息系统中,报表处理一直占比较重要的作用,iText是一种生成PDF报表的Java组件.通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超链接显示或下载得到生成的报表,这样 ...

  10. 利用PDF.JS插件解决了本地pdf文件在线浏览问题(根据需要隐藏下载功能,只保留打印功能)

    利用PDF.JS插件解决了本地pdf文件在线浏览问题(根据需要隐藏下载功能,只保留打印功能) 参考文章: (1)利用PDF.JS插件解决了本地pdf文件在线浏览问题(根据需要隐藏下载功能,只保留打印功 ...

最新文章

  1. 站在这山看着那山高,到了那山没柴烧.
  2. word python 域 操作_python实现在windows下操作word的方法
  3. Java如何实现二维码?【附源码】
  4. ABAP实例:如何设计和使用自定义的权限对象
  5. lacp可以在access接口吗_【思唯网络学院】【干货】LACP与PAGP是什么?有何区别?...
  6. Java多线程——线程范围内共享变量和ThreadLocal
  7. 每周送新书:Android软件安全、深入浅出Istio、软件架构设计
  8. 博客排名400-300的数据变化
  9. 谁手握账本?趣讲 ZK 的内存模型
  10. 电子之220V有效值峰值峰峰值
  11. c语言多字符和宽字符,2.1.5 多字节字符和宽字符
  12. U盘(电脑)文件夹变成exe(应用程序)怎么解决
  13. java实现银行卡卡号 Luhm 校验算法
  14. OSChina 愚人节乱弹 —— 开个小电影专栏放一天
  15. C# 操作Word批注(一) 插入、修改、删除Word批注
  16. 针对于“上传文件”和“触发方式” 的解决方案(Antd个例)
  17. android tv tts,android触摸语音事件
  18. java修炼三层境界
  19. JavaScript案例之使用验证码进行简单判断
  20. vue 动态生成下载二维码

热门文章

  1. 【工具-Hydra】暴力破解神器:Hydra-九头蛇
  2. 视频教程-轻松搞定Spring全家桶(初识篇)-Java
  3. 三、Win10 64位PyCharm下打包.py程序为可执行exe文件且兼容32位和64位
  4. 程序员校招社招简历模板分享和硬技能
  5. 南京大学计算机考研资料汇总
  6. qt QDir 枚举类型
  7. 2021-2004中国环境统计年鉴面板数据、环境面板数据
  8. 产业园 电气火灾监控系统的应用
  9. 第四期_Metasploit 基础(二)MSFconsole《Metasploit Unleashed Simplified Chinese version(Metasploit官方文档教程中文版)》
  10. http_load压力测试步骤