一个servlet用来实现PDF online preview的效果,在此记录一下:
public void download(HttpServletRequest request, HttpServletResponse response) throws FileGenerationException{
response.reset();
response.setContentType("application/pdf");
response.setCharacterEncoding("UTF8");
response.setHeader("Pragma", "public");
response.setHeader("Cache-Control", "max-age=0");
response.setHeader("Content-Disposition", "inline;filename=pdfTemp.pdf");
HttpClient httpClient = new DefaultHttpClient();
try {
InputStream is = null;
try {
String pdfUrl = (String)WebUtils.getSessionAttribute(request, "pdfUrl");
//下面这个方法对于很多url是支持的,但是当时项目中用到的url不支持,于是就没有采用这种方法
/*HttpGet getMethod = new HttpGet(pdfUrl);
HttpResponse response1 = httpClient.execute(getMethod);
if(response1.getStatusLine().getStatusCode()==HttpStatus.SC_OK){
HttpEntity en = response1.getEntity();
byte[] bytes = EntityUtils.toByteArray(en);
is = new ByteArrayInputStream(bytes);
}else{
throw new FileGenerationException("Server error");
}
IOUtils.copy(is, response.getOutputStream());*/
// 这是现在采用的方法
URL u = new URL(pdfUrl);
HttpURLConnection httpUrl = null;
httpUrl = (HttpURLConnection) u.openConnection();
is = new DataInputStream(httpUrl.getInputStream());
//DataOutputStream out = new DataOutputStream(response.getOutputStream());
OutputStream out = response.getOutputStream();
byte[] buffer = new byte[4096];
int count = 0;
while ((count = is.read(buffer)) > 0) {
out.write(buffer, 0, count);
}
out.close();
} finally {
if (is != null) {
is.close();
}
response.getOutputStream().flush();
}
} catch (Exception e) {
e.printStackTrace();
} finally{
httpClient.getConnectionManager().shutdown();
}
}
不足之处在于,当url查出来的东西没有数据时,会报错,目前还在研究中。
相关推荐
以上就是通过URL下载并显示PDF文件的主要步骤和涉及的技术点。在实际项目中,可能还需要根据需求进行更多的定制,例如添加下载进度条、支持断点续传、处理文件权限问题等。通过熟练掌握这些技术,你可以构建出一个...
标题“JSP页面显示PDF,根据PDF路径在JSP页面显示PDF”意味着我们要依据PDF文件在服务器上的存储路径来生成预览链接。以下是实现这一功能的一般步骤: 1. **获取PDF路径**:首先,你需要知道PDF文件在服务器上的...
在Java编程环境中,将一个URL链接的内容转换为PDF文件是一个常见的需求,这通常涉及到网络请求、HTML解析以及PDF生成等多个步骤。以下是一个详细的步骤指南,涵盖了这个过程中的关键知识点: 首先,我们需要处理URL...
"java URL转PDF文件(完美支持中文)"的主题着重于如何利用Java库来实现这一功能,并且确保中文字符能够正确显示。在Linux环境下,由于字符编码的问题,中文字符可能会出现乱码,但通过特定的方法和库可以解决这个问题...
在`handlePdfData()`方法中,你可以使用诸如`android.webkit.WebView`或第三方库如`PDFView`来显示PDF内容。例如,使用`PDFView`: ```java PDFView pdfView = findViewById(R.id.pdf_view); pdfView.fromBytes...
本项目的核心是实现PDF在线预览功能,它利用了SpringBoot的Web服务特性,结合PDF.js库来实现在浏览器中预览PDF文件。 首先,我们需要理解SpringBoot的Web开发基础。SpringBoot内置了对HTTP请求处理的支持,通过创建...
要在线显示PDF,首先需要获取文件的URL或者二进制数据。可以通过Ajax请求或者Fetch API从服务器获取PDF内容,然后传递给PDF.js进行渲染。例如,可以使用以下代码片段加载PDF: ```javascript PDFJS.getDocument...
本文将深入探讨如何使用jQuery实现PDF在线预览功能,这在许多Web应用中都是一种常见且实用的需求。 首先,我们需要理解PDF在线预览的基本原理。PDF(Portable Document Format)是一种通用的文件格式,用于保存文档...
本文详细介绍了在网页中显示PDF文档的两种常用方法:使用`<embed>`标签和`<object>`标签。这两种方法各有优缺点,选择哪一种取决于你的目标用户所使用的浏览器类型及你对功能的需求。通过上述介绍,你应该能够根据...
【正文】 在移动应用开发领域,uniAPP是一个备受开发者欢迎的框架,它允许开发者使用一套代码,跨平台地...开发者需要根据实际需求和项目条件选择合适的实现方式,确保在不同平台上都能提供稳定、高效的PDF预览功能。
在Vue.js应用中,预览PDF文件流是一个常见的需求,特别是在处理在线文档或者需要展示PDF内容的场景下。`vue-pdf`是一个强大的插件,它允许我们在Vue组件中轻松地集成PDF预览功能。这个插件是基于PDF.js库构建的,PDF...
此外,安全性也是一个重要的考虑因素,因为直接在浏览器中显示PDF可能会引发跨站脚本攻击(XSS)。因此,确保使用安全的、经过验证的PDF源,并且保持插件和库的更新是至关重要的。 为了更好地理解并实践“pdf在线...
通常我们会创建一个`<canvas>`元素来显示PDF内容。 ```javascript function renderPage(pageNumber) { pdf.getPage(pageNumber).then(function(page) { var canvas = document.getElementById('pdfCanvas'); ...
增加项: 10,输入pdf的URL网址,显示PDF,客户机没有任何痕迹; 11,增加当前显示PDF另存为功能;12,SavePdfToPicFile,保存PDF当前页为任意图片;13,GetPdfCurPageText 根据显示的当前页面,返回显示当前页面的...
在JavaScript(JS)中加载和显示PDF文件是Web开发中常见的需求,特别是在创建交互式文档预览或在线阅读器时。下面将详细讲解如何利用JavaScript技术实现这一功能,以及涉及的相关知识点。 首先,理解PDF(Portable ...
在网页显示PDF的场景中,JS负责处理文件加载、页面跳转、缩放等交互逻辑。 4. DEFAULT_URL:在描述中提到的"DEFAULT_URL",通常是在JavaScript代码中定义的一个变量,用于指定要加载的PDF文件路径。修改这个变量,...
这个压缩包文件提供了关于如何在Android应用中快速显示PDF文档的解决方案,特别是对于那些希望简化流程并尽快实现功能的开发者来说,这是一个值得研究的资源。 首先,我们来看“AndroidPdfView一行代码快速显示pdf...
这个场景下,我们可以利用JavaScript(JS)和HTML技术实现在WebForm页面上直接显示PDF内容,而无需借助第三方插件或工具。这个主题的核心在于利用浏览器的API和一些开源库来处理PDF的渲染。 首先,我们需要理解...
AndroidPdfView库提供了一个简洁的方式来实现在Android应用中快速显示PDF,且支持在线下载和本地预览。本篇文章将深入探讨如何利用这个库来实现这一功能。 首先,AndroidPdfView库是一个专门为Android设计的轻量级...
PDF(Portable Document Format)是一种广泛使用的文件格式,用于在各种操作系统和硬件之间交换文档,保持原始格式不变...在实际应用中,开发者应关注性能优化、用户体验和安全性,以打造高效、安全的PDF在线预览平台。