zoukankan      html  css  js  c++  java
  • JAVA 读取pdf文件

    第一个路口action 

    /*
     * wuhan syspro author zhangrui 2010/08/23
    */
    package jp.co.syspro.poo.action;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    public class PrintPdfAction extends Action{
    	public ActionForward execute(ActionMapping mapping, ActionForm form,
    	HttpServletRequest request, HttpServletResponse response)
    			throws Exception {
    		PdfExport pdf = new PdfExport();
    		String id=request.getParameter("id");
    		pdf.make(request,response,id);
    		return null;
    		}
    }
    

    进行输出方法

    /*
     * author syspro wuhan zhangrui 2010/8/20
    */
    package jp.co.syspro.poo.action;
    
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.ArrayList;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import com.lowagie.text.pdf.PdfPageEventHelper;
    import com.lowagie.text.pdf.BaseFont;   
    import com.lowagie.text.pdf.PdfTemplate;   
    import jp.co.syspro.poo.dao.System3Dao;
    
    public class PdfExport extends PdfPageEventHelper {
    	
    	    public PdfTemplate tpl;
    	    
    	    public BaseFont bf;
    	    
    	    public void make(HttpServletRequest request, HttpServletResponse response,String id) throws Exception{  
    	    	ArrayList f_file2=System3Dao.getInstance().getFile(id);
    	    	InputStream f_file=(InputStream)f_file2.get(0);
    	    	Integer f_size=Integer.parseInt(f_file2.get(1).toString());
    	    	response.reset();
    			response.setContentType("application/pdf");
    			OutputStream output = response.getOutputStream();
    			InputStream fis = f_file;
    			byte[] b = new byte[f_size];
    			int i = 0;
    			while ((i = fis.read(b)) > 0) {
    				output.write(b, 0, i);
    			}
    			output.flush();
    	    } 
    }
    
  • 相关阅读:
    Java实现代理服务器
    UML快速理解
    Linux常用命令
    线程数设置和CPU数的关系
    面试官:你在平时的工作中遇到过哪些问题让你印象深刻?
    常见的思考问题方法、处理问题工具
    分布式锁的几种使用方式(redis、zookeeper、数据库)
    MySQL数据库连不上?
    Oracle备份的几种方式
    ORACLE物理standby与逻辑standby简述
  • 原文地址:https://www.cnblogs.com/sunxun/p/4444035.html
Copyright © 2011-2022 走看看