利用Servlet在客户端输出PDF文件

摘要:
在学习编程的过程中,我认为我们不仅要获得课本的知识,还要通过学习技术知识来提高我们解决问题的能力,这样我们才能走在前列。本文重点介绍使用Servlet在客户端上输出PDF文件,以及更多Java专业知识。广州疯狂Java培训将为您讲解;首先,要在客户端上输出PDF文件,必须设置HTTP请求头的MIME。

  在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述利用Servlet在客户端输出PDF文件,更多Java专业知识,广州疯狂java培训为你讲解;

  首先,要在客户端输出PDF文件,必须将HTTP的请求头的MIME进行设置。

  response.setContentType("application/pdf"); //请求响应PDF文件

  如果对HTTP请求头的MIME不是很清楚,大家去google上面搜索一下相关的介绍。

  其次,利用IO流将服务器端的PDF文件加载到输入流中,然后用输出流传送给客户端

  String realPath = getServletContext().getRealPath("/download/Java题集.pdf");

  InputStream ips = null;

  OutputStream ops = null;

  resp.reset();

  resp.setContentType("application/pdf");

  File file = new File(realPath);

  ops = resp.getOutputStream();

  ips = new FileInputStream(file);

resp.addHeader("Content-Length", new Long(file.length()).toString());

  int i = 0;

  byte[] buffer = new byte[1024];

  i = ips.read(buffer);

  while (i != -1) {

  ops.write(buffer, 0, i);

  i = ips.read(buffer);

  }

  ips.close();

  ops.flush();

  ops.close();

  总结一个内容,这个关键字比较重要Content disposition

  HTTP response header中的content-disposition 允许 servlet 指定文档表示的信息。使用这种header ,你就可以将文档指定成单独打开(而不是在浏览器中打开),还可以根据用户的操作来显示。如果用户要保存文档,你还可以为该文档建议一个文件名。

res.setHeader("Content-disposition","attachment; filename="+"Example.pdf" );

  // attachment -因为不希望在浏览器中直接打开它,而是利用Adobe Acrobat。

  // 可以通过设置default file name来确定保存文当时的建议名称。

  //response.setHeader(“Content-Disposition”, “inline; filename=report.pdf”);

  疯狂Java培训专注软件开发培训,提升学员就业能力,重点提升实践动手能力。没有工作经验的学员,在疯狂java,通过大量全真经典企业级项目进行集中培训,课上讲师讲解和课下项目练习课上课下双管齐下,学员通过数月培训都可获得1-2年的工作经验,进而在同类的求职者中脱颖而出。疯狂Java培训让你体会java编程的快乐,项目开发的兴奋,成就感,通过短短几个月的时间,让你在半年的时间内掌握8-10万的代码量,掌握Java核心技术,迅速成为技能型的现代化高端人才,迅速获得高薪就业!

免责声明:文章转载自《利用Servlet在客户端输出PDF文件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SQL流行的应用程序使用jq实现打印机的效果下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用com.aspose.words将word模板转为PDF乱码解决方案(window下正常)

  最近在做电子签名过程中,需要将合成的电子签名的word文件(正常)转换为pdf文件时,在开发平台window下转换没有问题,中文也不会出现乱码。但是将项目部署到正式服务器(Linux)上,转换出来的pdf中文就出现乱码。在网上找了很久,才找到原因,现在将解决办法分享给大家 1、问题原因分析   在windos下没有问题但是在Linux下有问题,就说明不...

IText简介及示例

一、iText简介    iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。          使用iText非常方便,引入jar包,程序中就可以使用iText类库了。iText.jar包下载地址:http:...

Java平台下利用aspose转word为PDF实现文档在线预览

原文链接:https://www.jianshu.com/p/86716c7122ef 原始需求 java-web项目某页面,用户可上传word文档,上传后的文档名在页面的表格中展示,需要提供word文档的在线预览、下载功能。 找寻解决方式 需求点主要有三个,分别是word文件的上传、预览和下载,文件的上传和下载就不多说了,主要的难点在于预览。找资料找到...

使用Python进行PDF图片识别OCR

使用场景 使用图片识别可以快速提取图片中的信息,方便高效。 Python并不能直接对PDF进行识别,所以如果是识别PDF的话,需要先将PDF转化为图片,然后再进行识别。 必备工具 Python  可以安装3.7及以上版本 tesseract-ocr  下载地址: https://github.com/UB-Mannheim/tesseract/wiki 使...

delphi PDF控件介绍

PDF控件介绍 llPDFLib 概述 llPDFLib 是用于创建 PDF 文档的纯 Object Pascal 库。 该库不使用任何 DLL 或外部第三方软件来生成 PDF 文件。 库包括具有属性和方法的 TPDFDocument 组件,如 Delphi 的 TPrinter,但旨在生成 PDF 文件。 特征 真正的 Canvas.Handle (H...

一款超好用的PDF阅读器:智器阅读

现在大部分的人都在使用智能手机,那我们如何利用好我们的智能手机呢?智能手机不仅仅是电话短信玩游戏了,也可以成为我们读书学习的工具。电子书PDF格式的超多,去以前也试过各种各样的阅读器,可是没觉的好的,最近终于遇到一款比较好的阅读器,因此就很快推荐给大家,一款android平台的PDF阅读器智器阅读。   这款阅读器的特点如下: 秒翻阅读:快速翻页,...