java 查看pdf_Java中实现pdf在线查看和下载
Java中實現PDF的在線查看和下載,可以以servlet來實現。
/**
* 支持在線打開和下載
*
* @param filePath
* @param response
* @param isOnLine
* @param fname
* @throws IOException
*/
public void download(String filePath, HttpServletResponse response,
boolean isOnLine, String fname) throws IOException {
System.out.println("filePath:" + filePath);
File f = new File(filePath);
if (!f.exists()) {
response.sendError(404, "File not found!");
return;
}
BufferedInputStream br = new BufferedInputStream(new FileInputStream(f));
byte[] bs = new byte[1024];
int len = 0;
response.reset(); // 非常重要
if (isOnLine) { // 在線打開方式
URL u = new URL("file:///" + filePath);
String contentType = u.openConnection().getContentType();
response.setContentType(contentType);
response.setHeader("Content-Disposition", "inline;filename="
+ fname);
// 文件名應該編碼成utf-8,注意:使用時,我們可忽略這句
} else {
// 純下載方式
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition", "attachment;filename="
+ fname);
}
OutputStream out = response.getOutputStream();
while ((len = br.read(bs)) > 0) {
out.write(bs, 0, len);
}
out.flush();
out.close();
br.close();
}
// 這個代碼是網上找的,我那時候試過,是可以打開的,我測試的是firefox20,
// 其他的沒試過了。你可能要裝下pdf的閱讀插件。
另外,我測試了IE8是可行的,但是它似乎調用了福昕閱讀器(測試的電腦安裝了福昕),查看的時候可以打印等多種操作,但是不能另存為。
總結
以上是生活随笔為你收集整理的java 查看pdf_Java中实现pdf在线查看和下载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java spring启动和终止_spr
- 下一篇: java美元兑换,(Java实现) 美元