java 实现导出pdf文档

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leng_yong/article/details/77507680

项目中需要把图片和中文导出成pdf格式

 实现方式如下:

1.页面jsp+js

2.后台java(spring+springMVC+mybatis,mysql)

3.Js把参数传到后台,用java实现导出pdf文档需求

 

一.首先导入相应的jar

maven---->

<dependency>
   <groupId>com.itextpdf</groupId>
   <artifactId>itext-asian</artifactId>
   <version>5.2.0</version>
</dependency>
   <dependency>
      <groupId>com.itextpdf</groupId>
      <artifactId>itextpdf</artifactId>
      <version>5.4.3</version>
   </dependency>
   <dependency>

 

二.java后台逻辑部分

//1.新建document对象

Document document = new Document(PageSize.A4.rotate(), 36, 36, 24, 36);

//2.构造好pdf文件输出位置(文档保存到D盘)

PdfWriter.getInstance(document, new FileOutputStream("D:\\PdfTest.pdf"));

   //如果把pdf文件放在项目中获取方法如下

   // 构造好的pdf文件输出位置"/resourcesfile/pdf/PdfTest.pdf"表示在项目中的位置

 //String  path = "/resourcesfile/pdf/PdfTest.pdf";

   //建立一个书写器(Writer)document对象关联,通过书写器(Writer)可以将文档写入到磁盘中。

   //PdfWriter.getInstance(document,new FileOutputStream(new File(request.getSession().getServletContext().getRealPath("/") + path)));


//3.打开文件(注:只有document打开后才能往文件写入信息)

documen.open();

 //插入部分 ,获取相应的信息(文字,图片)

.....

....根据自己的情况获取相应的内容

....

 //中文支持,需要引入itext-asian.jar

BaseFont bfChinese = BaseFont.createFont( "STSongStd-Light" ,  "UniGB-UCS2-H" ,  false );

Font fontChinese =  new  Font(bfChinese,10,Font.NORMAL,BaseColor.BLACK);

Paragraph pf = new Paragraph();

pf.add(new Paragraph(“这里是传入的中文内容”));

document.add(pf);

 //图片部分

//创建图片对象,加入Image,此处写入图片路径

 Image img = Image.getInstance(“这里是传入的图片的路径”);

 img.setAlignment(Image.LEFT | Image.LEFT);

 img.setBorder(Image.BOX);

 img.setBorderWidth(10);

 img.setBorderColor(BaseColor.WHITE);

 img.scaleToFit(1500, 200);//大小

 ocument.add(img);

 //关闭文档对象,注:当文档对象真正关闭后,数据才会写入文件中。

  document.close();

 


猜你喜欢

转载自blog.csdn.net/leng_yong/article/details/77507680