java 使用itext导出PDF文件,图片文字左右布局 - Go语言中文社区

java 使用itext导出PDF文件,图片文字左右布局


java 使用itext导出PDF文件,带图片布局。

导出pdf效果如下

这里写图片描述

代码

代码块语法遵循标准markdown代码,例如:

/**
 * 思路:使用嵌套表格对象完成数据,图片左右布局
 * 1、创建document对象。
 * 2、创建表格对象PdfPTable headerTable。两列的表格对象。图片分为一列,数据划分为一列。
 * 3、创建左边数据表格PdfPTable iTable,划分为N列
 * 4、往左边表格中写入数据,加入iTable中
 * 5、创建图片对象,加入headerTable中
 * @author liucong
 *
 */
public class MergeCell {
    public static void main(String[] args) {
         float lineHeight1 = (float)25.0;
        float lineHeight2 = (float)25.0;        
         try{
             //新建document对象
             Document pdfDoc = new Document(PageSize.A4.rotate(), 36, 36, 24, 36);
             // 构造好的pdf文件输出位置  
             PdfWriter.getInstance(pdfDoc, new FileOutputStream("D:\test.pdf"));    
             //打开pdf文件---注:只有document 打开后,才能往文件内写入导出信息
             pdfDoc.open();

             //PDFTable类似于html的表格文件,但是只有列的概念,定义列的数量,不能定义行的数量。
             //创建一个两列的表格
             PdfPTable headerTable = new PdfPTable(2);
             headerTable.setWidthPercentage(40);

             //3、创建左边数据表格PdfPTable iTable,划分为N列

             PdfPTable leftTable = new PdfPTable(4);//创建左边表格
             //4、往左边表格中写入数据,加入iTable中
             //4-1表格中可以合并单元格
             PdfPCell leftCell = new PdfPCell(new Paragraph("Hello"));
             leftCell.setHorizontalAlignment(Element.ALIGN_CENTER);
             leftCell.setVerticalAlignment(Element.ALIGN_MIDDLE);
             leftCell.setFixedHeight(lineHeight1);
             leftCell.setColspan(4);
             leftTable.addCell(leftCell);
             //4-2填充数据
                for(int i=0;i<24;i++){
                 leftCell = new PdfPCell(new Paragraph("data"));
                 leftCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                 leftCell.setVerticalAlignment(Element.ALIGN_MIDDLE);
                 leftCell.setFixedHeight(lineHeight2);
                 leftTable.addCell(leftCell);
                }
             //将表格加入到第一列中
             PdfPCell cell = new PdfPCell(leftTable);
             cell.setPadding(0);
             headerTable.addCell(cell);         

             //5、创建图片对象,加入headerTable中,此处写入图片路径
             Image image = Image.getInstance("E:\images\ygtd.png");  
             headerTable.addCell(image);            
             //将主要的表格headerTable加入document文档对象中
             pdfDoc.add(headerTable);
             //关闭文档对象,注:当文档对象真正关闭后,数据才会写入文件中。
             pdfDoc.close();

         } catch(Exception e) {
                 e.printStackTrace();
         }
     }
 }

参考资料:
Java操作PDF之iText超入门

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u012151597/article/details/52900049
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-08 10:33:08
  • 阅读 ( 1086 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢