`

根据url在线显示PDF

 
阅读更多

一个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文件

    以上就是通过URL下载并显示PDF文件的主要步骤和涉及的技术点。在实际项目中,可能还需要根据需求进行更多的定制,例如添加下载进度条、支持断点续传、处理文件权限问题等。通过熟练掌握这些技术,你可以构建出一个...

    JSP页面显示PDF,根据PDF路径在JSP页面显示PDF

    标题“JSP页面显示PDF,根据PDF路径在JSP页面显示PDF”意味着我们要依据PDF文件在服务器上的存储路径来生成预览链接。以下是实现这一功能的一般步骤: 1. **获取PDF路径**:首先,你需要知道PDF文件在服务器上的...

    java URL转PDF文件

    在Java编程环境中,将一个URL链接的内容转换为PDF文件是一个常见的需求,这通常涉及到网络请求、HTML解析以及PDF生成等多个步骤。以下是一个详细的步骤指南,涵盖了这个过程中的关键知识点: 首先,我们需要处理URL...

    java URL转PDF文件(完美支持中文)

    "java URL转PDF文件(完美支持中文)"的主题着重于如何利用Java库来实现这一功能,并且确保中文字符能够正确显示。在Linux环境下,由于字符编码的问题,中文字符可能会出现乱码,但通过特定的方法和库可以解决这个问题...

    前端web页面支持在线显示PDF文件的组件

    要在线显示PDF,首先需要获取文件的URL或者二进制数据。可以通过Ajax请求或者Fetch API从服务器获取PDF内容,然后传递给PDF.js进行渲染。例如,可以使用以下代码片段加载PDF: ```javascript PDFJS.getDocument...

    SpringBoot在线预览PDF文件

    本项目的核心是实现PDF在线预览功能,它利用了SpringBoot的Web服务特性,结合PDF.js库来实现在浏览器中预览PDF文件。 首先,我们需要理解SpringBoot的Web开发基础。SpringBoot内置了对HTTP请求处理的支持,通过创建...

    jquery实现PDF在线预览 jquery实现在线预览PDF文档

    本文将深入探讨如何使用jQuery实现PDF在线预览功能,这在许多Web应用中都是一种常见且实用的需求。 首先,我们需要理解PDF在线预览的基本原理。PDF(Portable Document Format)是一种通用的文件格式,用于保存文档...

    android 通过URL预览PDF文件 ,预览本地pdf文件

    在`handlePdfData()`方法中,你可以使用诸如`android.webkit.WebView`或第三方库如`PDFView`来显示PDF内容。例如,使用`PDFView`: ```java PDFView pdfView = findViewById(R.id.pdf_view); pdfView.fromBytes...

    网页中显示PDF文档的HTML代码

    本文详细介绍了在网页中显示PDF文档的两种常用方法:使用`<embed>`标签和`<object>`标签。这两种方法各有优缺点,选择哪一种取决于你的目标用户所使用的浏览器类型及你对功能的需求。通过上述介绍,你应该能够根据...

    pdf在线预览demo

    此外,安全性也是一个重要的考虑因素,因为直接在浏览器中显示PDF可能会引发跨站脚本攻击(XSS)。因此,确保使用安全的、经过验证的PDF源,并且保持插件和库的更新是至关重要的。 为了更好地理解并实践“pdf在线...

    jsp在线浏览pdf文件的jar包和插件

    通常我们会创建一个`<canvas>`元素来显示PDF内容。 ```javascript function renderPage(pageNumber) { pdf.getPage(pageNumber).then(function(page) { var canvas = document.getElementById('pdfCanvas'); ...

    ocx控件1.1版显示pdf基于 xpdf

    增加项: 10,输入pdf的URL网址,显示PDF,客户机没有任何痕迹; 11,增加当前显示PDF另存为功能;12,SavePdfToPicFile,保存PDF当前页为任意图片;13,GetPdfCurPageText 根据显示的当前页面,返回显示当前页面的...

    js加载显示pdf

    在JavaScript(JS)中加载和显示PDF文件是Web开发中常见的需求,特别是在创建交互式文档预览或在线阅读器时。下面将详细讲解如何利用JavaScript技术实现这一功能,以及涉及的相关知识点。 首先,理解PDF(Portable ...

    iframe标签实现pdf预览功能

    当用户访问这个页面时,浏览器会尝试在`iframe`中加载并显示PDF内容。 对于Vue和React这两个流行的JavaScript库,我们可以创建组件来封装`iframe`标签,以便在项目中更方便地使用。下面分别介绍这两种框架的实现...

    网页显示PDF

    在网页显示PDF的场景中,JS负责处理文件加载、页面跳转、缩放等交互逻辑。 4. DEFAULT_URL:在描述中提到的"DEFAULT_URL",通常是在JavaScript代码中定义的一个变量,用于指定要加载的PDF文件路径。修改这个变量,...

    安卓Excelwordppt文档读写相关-AndroidPdfView一行代码快速显示pdf支持线上下载与显示.rar

    这个压缩包文件提供了关于如何在Android应用中快速显示PDF文档的解决方案,特别是对于那些希望简化流程并尽快实现功能的开发者来说,这是一个值得研究的资源。 首先,我们来看“AndroidPdfView一行代码快速显示pdf...

    根据文件URL,WebForm页面直接显示pdf文件内容,涉及JS,HTML.zip

    这个场景下,我们可以利用JavaScript(JS)和HTML技术实现在WebForm页面上直接显示PDF内容,而无需借助第三方插件或工具。这个主题的核心在于利用浏览器的API和一些开源库来处理PDF的渲染。 首先,我们需要理解...

    AndroidPdfView一行代码快速显示pdf,支持线上下载与显示

    AndroidPdfView库提供了一个简洁的方式来实现在Android应用中快速显示PDF,且支持在线下载和本地预览。本篇文章将深入探讨如何利用这个库来实现这一功能。 首先,AndroidPdfView库是一个专门为Android设计的轻量级...

    在线预览pdf文档

    PDF(Portable Document Format)是一种广泛使用的文件格式,用于在各种操作系统和硬件之间交换文档,保持原始格式不变...在实际应用中,开发者应关注性能优化、用户体验和安全性,以打造高效、安全的PDF在线预览平台。

    pdf.js用于显示pdf文件

    3. **高质量渲染**:PDF.js尝试模拟PDF文档在Adobe Acrobat或Reader中的显示效果,包括文本、图像、图形和颜色空间的处理。 4. **动态加载与分块渲染**:为了优化性能,PDF.js将大文件分割成小块进行加载和渲染,...

Global site tag (gtag.js) - Google Analytics