java处理pdf文件以网页形式打开 项目中,如果用java实现,当用户点击那个pdf链接时,不弹出下载提示框,而是以网页的形式打开这个pdf。并且要控制打开的pdf是不能让用户有另存为的操作。大家明白我意思了吗?求解中…… 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 response.setHeader("Content-disposition", "attachment; filename=" + new String(wordName.getBytes("gbk"), "iso8859-1") + ".pdf");这个是设置pdf下载的,如果不需要下载。直接在网页中浏览就去掉attachment;就可以在网页中浏览的response.setHeader("Content-disposition", "filename=" + new String(wordName.getBytes("gbk"), "iso8859-1") + ".pdf");就是说你要在servlet或jsp中设置文件的头部信息 据我使用word所知,要安装一个插件才能直接打开,要不就下载了... package test;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.OutputStream;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class PDFServlet extends HttpServlet { private static final long serialVersionUID = -3065671125866266804L; public PDFServlet() { super(); } public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("application/pdf"); FileInputStream in = new FileInputStream(new File("d:/1.pdf")); OutputStream out = response.getOutputStream(); byte[] b = new byte[512]; while ((in.read(b)) != -1) { out.write(b); } out.flush(); in.close(); out.close(); } public void init() throws ServletException { }} 你是想把pdf的内容读取一下而以,没有控制到pdf的具体属性。 <object id="YCanPDF" classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="100%" height="550" border="0"> <param name="_Version" value="65539"> <param name="_ExtentX" value="20108"> <param name="_ExtentY" value="10866"> <param name="_StockProps" value="0"> <param name="SRC" value="test.pdf"> <object data="test.pdf" width="300" height="200" class="hiddenObjectForIE"> </object> </object> 用这种方式就可以在页面中打开pdf了啊!关键是权限控制!!! 要在程序里调用pdf浏览器,就像web浏览器里一样,打开word或者pdf就能调用相应的程序! 谁有tomcat 负载均衡 和集群的文档发一份给我 struts2标签<s:property>在jsp页面取不到值,新手求学,老手赐教 还是来java区问吧,jquery表格的添加删除问题 <sql:setDateSorce>连接数据库标签问题,求救 jsp导出到excel java熟练程序员请进 200分求助,请大家帮帮忙,很急,是有关dom4j的,我只想要一个例子,给一个元素如何求得他下面的所有子元素 tomcat+apache整合最后出现的问题 java文件该放哪? 求助 ie可以其他浏览器不可以 OpenJDK 和 SunJDK 脚本怎么让焦点移动到指定的输入框中?
response.setHeader("Content-disposition", "attachment; filename=" + new String(wordName.getBytes("gbk"), "iso8859-1") + ".pdf");
这个是设置pdf下载的,如果不需要下载。直接在网页中浏览就去掉attachment;
就可以在网页中浏览的
response.setHeader("Content-disposition", "filename=" + new String(wordName.getBytes("gbk"), "iso8859-1") + ".pdf");
就是说你要在servlet或jsp中设置文件的头部信息
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class PDFServlet extends HttpServlet { private static final long serialVersionUID = -3065671125866266804L; public PDFServlet() {
super();
} public void destroy() {
super.destroy();
} public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("application/pdf");
FileInputStream in = new FileInputStream(new File("d:/1.pdf"));
OutputStream out = response.getOutputStream();
byte[] b = new byte[512];
while ((in.read(b)) != -1) {
out.write(b);
}
out.flush();
in.close();
out.close();
} public void init() throws ServletException { }}
<param name="_Version" value="65539">
<param name="_ExtentX" value="20108">
<param name="_ExtentY" value="10866">
<param name="_StockProps" value="0">
<param name="SRC" value="test.pdf">
<object data="test.pdf" width="300" height="200" class="hiddenObjectForIE">
</object>
</object>
用这种方式就可以在页面中打开pdf了啊!关键是权限控制!!!