大家一定试过在直接在网页上打开pdf格式文件,进行阅读和操作。这个功能是怎么实现的?如何才能在网页上显示自定义格式的文件呢???

解决方案 »

  1.   

    方式有很多种,给你一种方式:
    package print;import java.util.List;import javax.servlet.ServletOutputStream;
    import javax.servlet.http.HttpServletResponse;import com.lowagie.text.Cell;
    import com.lowagie.text.Chunk;
    import com.lowagie.text.Document;
    import com.lowagie.text.Paragraph;
    import com.lowagie.text.Table;
    import com.lowagie.text.pdf.BaseFont;
    import com.lowagie.text.pdf.PdfWriter;
    public class PdfJava {
    private JobsDAO jobsdao;

    public PdfJava(){
    this.jobsdao = new JobsDAO();
    }

    public Document  getPdf(HttpServletResponse response){
    Document document = new Document();
    try{
    response.setContentType("application/pdf");
    response.setHeader("Content-Disposition","attachment;filename=testport.pdf");
    ServletOutputStream sos = response.getOutputStream();
    PdfWriter.getInstance(document, sos);
    //PdfWriter.getInstance(document, new FileOutputStream("E:/test.pdf"));
    document.open();
    BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); 
    com.lowagie.text.Font FontChinese = new com.lowagie.text.Font(bfChinese, 12, com.lowagie.text.Font.NORMAL);


    //document.add(new Paragraph("jobs的PDF打印s",FontChinese)); 
    document.add(new Paragraph(new Chunk("jobs的PDF打印s",FontChinese))); 

    Table table = new Table(5);
    table.setBorderWidth(1);

    //cell = new Cell("序号");
    table.addCell(new Cell(new Chunk("序号",FontChinese)));
    table.addCell(new Cell(new Chunk("工作编号",FontChinese)));
    table.addCell(new Cell(new Chunk("工作描述",FontChinese)));
    table.addCell(new Cell(new Chunk("最小水平",FontChinese)));
    table.addCell(new Cell(new Chunk("最大水平",FontChinese)));

    List<Jobs> list = jobsdao.query("select * from jobs");
    for(int i=0;i<list.size();i++){
    Jobs job = new Jobs();
    job = list.get(i);
    table.addCell(String.valueOf(i+1));
    table.addCell(job.getJob_id());
    table.addCell(job.getJob_desc());
    table.addCell(job.getMin_lvl());
    table.addCell(job.getMax_lvl());
    }
    document.add(table);


    document.close(); 
    sos.close();
    }catch(Exception e){
    e.printStackTrace();
    }
    return document;
    }
    }
      

  2.   

    给servlet调用。
    PdfJava pj = new PdfJava();
    pj.getPdf(response);这样就行。
      

  3.   

    licip 兄提供的是 java 语言,如果是 python 写的网站呢?