最简单的java导出pdf

需要导入的包:

itext7-font-asian-7.0.2.jar
itext7-io-7.0.2.jar
itext7-kernel-7.0.2.jar
itext7-layout-7.0.2.jar

slf4j-api-1.7.25.jar

直接调用此方法

参数path为输出位置

private static void create(String path) throws IOException {
        String pdfurl = "";
        PdfFont ChineseFont = PdfFontFactory.createFont("STSong-Light", "UniGB-UCS2-H", false);
        
        
        try {
            PdfDocument pdfDoc = new PdfDocument(new PdfWriter(path));
            Document document = new Document(pdfDoc,PageSize.A4);//构建文档对象  
            document.setMargins(70,70,60,80);
            
            
            
            Cell cell = null;
            Paragraph pf1 = new Paragraph("XX有限公司集团业务协议")
                    .setFont(ChineseFont)
                    .setFontSize(12)
                    .setBold()
                    .setTextAlignment(TextAlignment.CENTER);
            Paragraph pf2 = new Paragraph("业务受理单\n").setFont(ChineseFont)
                    .setFontSize(11)
                    .setBold()
                    .setTextAlignment(TextAlignment.CENTER);
            Table datatableP1 = new Table(new float[]{2,1})
                    .setWidth(UnitValue.createPercentValue(100))
                    .setBackgroundColor(new DeviceRgb(255,255,255));
            cell=new Cell().add(new Paragraph("客户:"+"XX分行"))
                    .setFont(ChineseFont).setFontSize(11)
                    .setTextAlignment(TextAlignment.LEFT)
                    .setBorder(Border.NO_BORDER)
                    .setMaxHeight(18);
            datatableP1.addCell(cell);
            cell=new Cell().add(new Paragraph(" "))
                    .setFont(ChineseFont).setFontSize(11)
                    .setTextAlignment(TextAlignment.LEFT)
                    .setBorder(Border.NO_BORDER)
                    .setMaxHeight(18);
            datatableP1.addCell(cell);
            cell=new Cell().add(new Paragraph("公司:"+"XX分公司"))
                    .setFont(ChineseFont).setFontSize(11)
                    .setTextAlignment(TextAlignment.LEFT)
                    .setBorderBottom(Border.NO_BORDER)
                    .setBorderLeft(Border.NO_BORDER)
                    .setBorderRight(Border.NO_BORDER)
                    .setBorderTop(Border.NO_BORDER);
            datatableP1.addCell(cell);
            cell=new Cell().add(new Paragraph("日期:"+"2018年4月28日"))
                    .setFont(ChineseFont).setFontSize(11)
                    .setTextAlignment(TextAlignment.RIGHT)
                    .setBorderBottom(Border.NO_BORDER)
                    .setBorderLeft(Border.NO_BORDER)
                    .setBorderRight(Border.NO_BORDER)
                    .setBorderTop(Border.NO_BORDER);
            datatableP1.addCell(cell);
            
            
            Table datatable = new Table(new float[]{255,200}).setWidth(UnitValue.createPercentValue(100)).setBackgroundColor(new DeviceRgb(255,255,255));
             
            cell=new Cell(1,2).add(new Paragraph("集团客户资料信息"))
                    .setFont(ChineseFont).setFontSize(11)
                    .setTextAlignment(TextAlignment.CENTER)
                    .setBold();
            datatable.addCell(cell);
            
            cell=new Cell(1,2).add(new Paragraph("客户基本资料"))
                    .setFont(ChineseFont).setFontSize(11)
                    .setTextAlignment(TextAlignment.LEFT)
                    .setBackgroundColor(new DeviceRgb(211,211,211));
            datatable.addCell(cell);
            System.out.println("=========cell.getColspan==2========"+cell.getColspan());
           
            document.add(pf1);
            document.add(pf2);
            document.add(datatableP1);
            document.add(datatable);
           
          
            document.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

猜你喜欢

转载自blog.csdn.net/weixin_40903194/article/details/84024050