实现点击超链接下载pdf文件,该pdf文件的内容又跟jsp页面的数据有关。实质就是一个打印吧。

若对此打印有一个pdf的template,要先加载template,即把template里面的东西读出来。

PdfReader reader = new PdfReader("SimpleRegistrationForm.pdf");

设置页面的大小

Rectangle rectPageSize = reader.getPageSizeWithRotation(1);

Document doc = new Document(rectPageSize, 40, 40, 40, 40);// 其余4个参数,设置了页面的4个边距

清空response,不这么做的话有时对程序有影响,因为在此之前有可能也用到了response,若不reset后面的setContentType()有可能无效.

response.reset();

setContentType()设置文件类型为pdf
  response.setContentType("application/pdf");

设定下载文件的名称
  response.setHeader("content-disposition", "attachment; filename=test.pdf");
  ByteArrayOutputStream baos = new ByteArrayOutputStream();  // 设置字体
  BaseFont font = BaseFont.createFont("HeiseiMin-W3", "UniJIS-UCS2-HW-H",
    BaseFont.NOT_EMBEDDED);
  // Font font = FontFactory.getFont(FontFactory.HELVETICA, 14, Font.BOLD,
  // Color.BLUE);

PdfWriter pw = PdfWriter.getInstance(doc, baos);

doc.open();

PdfContentByte pcb = pw.getDirectContent();

//在此加入业务逻辑

pcb.beginText();
  pcb.setFontAndSize(font, 10);
  String page = String.valueOf(1);
  pcb.showTextAligned(PdfContentByte.ALIGN_LEFT, page, 530, 40, 0);
  pcb.endText();

doc.close();

// Send PDF to client
  baos.writeTo(response.getOutputStream());
  baos.close();

以上是用流输出文件内容,比生成临时文件再输出应该简单快捷些。

java实现pdf文件下载相关推荐

  1. JAVA实现 PDF转换 常用工具类(html转PDF、PDF添加页码、PDF文件下载、PDF添加印章或者水印)

    JAVA实现 PDF转换 常用工具类(html转PDF.PDF添加页码.PDF文件下载.PDF添加印章或者水印)可直接使用 package com.bestvike.util; import com. ...

  2. Java动态处理PDF合同模板并下载

    前期准备步骤: 1.准备一份Word版的电子合同模板 2.通过wps输出为PDF 3.安装Adobe Acrobat DC 4.通过Adobe Acrobat DC打开PDF版电子合同并选择" ...

  3. Java生成PDF文件,java面试题,java初级笔试题

    写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. 一. ...

  4. Java实现pdf和Excel的生成及数据动态插入、导出

    点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料! 作者:慢时光 cnblogs.com/Tom-shushu/ ...

  5. pdfparser java_如何使用java从PDF中提取内容?

    在Java编程中,如何使用java从PDF中提取内容? 项目的目录结构如下 - Tika的工具包可从以下网址下载:http://tika.apache.org/download.html ,只下载:t ...

  6. Java 中pdf部分内容加边线_Java 在PDF中添加骑缝章示例解析

    骑缝章是用于往来业务合同,以确保合同真实.有效的印章加盖方法,是一种防范风险的重要方式.在Java程序中,可以通过使用工具来辅助加盖这种骑缝章. 工具:Free Spire.PDF for Java ...

  7. java 其他文件转pdf_java 其他文件转成pdf java生成pdf

    java生成pdf需要用到的包pd4ml.jar 下载地址:http://download.csdn.net/detail/yanning1314/7124741 package com.cular. ...

  8. Java合并pdf文件

    Java合并pdf文件 今天帮老师整理资料需要合并pdf文件,下了许多软件发现都需要VIP才行,所以写了个程序来帮助合并,直接在主程序中修改文件路径即可,如下图: 主要代码如下: package co ...

  9. Android开发编码规范pdf文件下载

    Android开发编码规范.pdf文件下载 Android开发编码规范.pdf文件下载. 公司要求成立统一的开发流程和编码规范,希望每个人的编码一致,风格一致,这样有利于提高开发效率,于是我从网上整理 ...

最新文章

  1. fatal error LNK1181: 无法打开输入文件“libx264.lib”
  2. 基于docker部署的微服务架构(九): 分布式服务追踪 Spring Cloud Sleuth
  3. python字符串的方法和列表的方法_python 字符串方法及列表,元组,字典(一)
  4. Swift之本地国际化与App内切换语言
  5. pythondevp2p_以太坊GO、JAVA、PYTHON、RUBY、JS客户端介绍
  6. 清分日期是当天还是第二天_年底了,您的驾驶证是该清分了吗?
  7. luogu1355 神秘大三角
  8. mmorpg开发_MMORPG可以教给我们如何组建一支英勇的开发团队
  9. uart串口通信_听说UART与STM32的HAL库更配哦
  10. 正则表达式 以字符串开头_干货-Shell编程之正则表达式
  11. python实验项目_Python3实验 项目结构(文件操作)
  12. BZOJ1815 SHOI2006有色图(Polya定理)
  13. java 多线程 保存txt_一个txt文件,里面存在几万条数据,现用多线程实现数据导入,提高效率,java代码如何实现...
  14. JDK 安装与环境变量配置(Win10详细版)
  15. Java如何实现代理服务器?
  16. 学习Coverity codexm的一些资料
  17. STM8S003超声波测距
  18. 超级NB的防DDOS(小量级)攻击的脚本
  19. json和ajax的使用
  20. 2022年牛客多校第三场补题记录

热门文章

  1. 线性代数笔记(矩阵)
  2. U盘显示文件或目录损坏且无法读取(U盘提示无法访问解决方法)
  3. 数据可视化大屏 - 大屏云极简使用手册
  4. 实时数据库数据采集接口API八爪鱼采集接口
  5. AI绘画能力的起源:通俗理解VAE、扩散模型DDPM、DETR、ViT/Swin transformer
  6. html表格字符分散,如何实现Word表格文字分散对齐?
  7. android 手机信号软件增强方案
  8. Networkx如何画点图并显示边权
  9. 揭秘:“苏宁拼购基地”落地全国的原因
  10. English trip 自习内容 句子结构和成分