java itextPdf导出pdf

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36675996/article/details/79281095
String newName ="文字文字.pdf";  //导出pdf的名称
File fileName = new File(savePhotoPath + newName); //导出pdf的位置
FileOutputStream fos2 = new FileOutputStream(fileName); //文件输出流
ByteArrayOutputStream ba = new ByteArrayOutputStream();
Document document = new Document(PageSize.A4); // Step 1—Create a Document.
PdfWriter writer = PdfWriter.getInstance(document, ba);// Step 2—Get a PdfWriter instance.
writer.setEncryption(null, null, PdfWriter.ALLOW_PRINTING, PdfWriter.STANDARD_ENCRYPTION_128);// 空加密,禁用编辑
            document.open();
            // 页边空白
            document.setMargins(50, 50, 30, 30);

            // 设置字体
BaseFont bfChinese = BaseFont.createFont("C:/WINDOWS/Fonts/simhei.TTF", BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
com.itextpdf.text.Font FontChinese18 = new com.itextpdf.text.Font(bfChinese, 18,com.itextpdf.text.Font.BOLD);
com.itextpdf.text.Font FontChinese11Bold =new com.itextpdf.text.Font(bfChinese, 11,com.itextpdf.text.Font.BOLD);
com.itextpdf.text.Font FontChinese11Normal = new com.itextpdf.text.Font(bfChinese, 11,com.itextpdf.text.Font.NORMAL);

Paragraph pg_bt = new Paragraph("文字文字", FontChinese18);//标题
            pg_bt.setAlignment(Element.ALIGN_CENTER);
            pg_bt.setSpacingAfter(50);
            document.add(Chunk.NEWLINE);
            document.add(Chunk.NEWLINE);
            document.add(pg_bt);
            //加入空行
            Paragraph blankRow1 = new Paragraph(18f, " ", FontChinese18); 
            Paragraph paragraph = new Paragraph("文字文字:", FontChinese11Bold);
            paragraph.setIndentationLeft(45f);// 段落缩进

            Paragraph p1 = new Paragraph("");  
            p1.add(new Chunk(new LineSeparator(1, 83, new BaseColor(144, 205, 247), Element.ALIGN_CENTER, 10)));  //加入一条蓝线
            document.add(paragraph);
            document.add(p1);
            document.add(Chunk.NEWLINE);

            try {
            Image image = Image.getInstance(photoUrl);  //写入图片
            image.scaleAbsolute(80, 110);// 控制图片大小 (宽,高)
            image.setAbsolutePosition(130, 565);// 控制图片位置
            document.add(image);
            }catch(Exception e) {
                System.out.println("照片没找到");
            }

            Paragraph kh = new Paragraph("文字文字:"  + ksxx.getKsbh(), FontChinese11Normal);
            kh.setIndentationLeft(280f);// 段落缩进
            document.add(kh);
            document.add(Chunk.NEWLINE);
            Paragraph xm = new Paragraph("文字文字:"  + ksxx.getXm(), FontChinese11Normal);
            xm.setIndentationLeft(280f);// 段落缩进
            document.add(xm);
            document.add(Chunk.NEWLINE);
            Paragraph xb = new Paragraph("文字文字:" + ksxx.getXbmc(), FontChinese11Normal);
            xb.setIndentationLeft(280f);// 段落缩进
            document.add(xb);
            document.add(Chunk.NEWLINE);
            Paragraph zjhm = new Paragraph("文字文字:" + ksxx.getZjhm(), FontChinese11Normal);
            zjhm.setIndentationLeft(280f);// 段落缩进
            document.add(zjhm);
            document.add(Chunk.NEWLINE);

            document.add(new Chunk("  文字文字:", FontChinese11Bold));
            document.add(p1);
            //加入空行
            document.add(blankRow1);
            //table1
            PdfPTable table1 = new PdfPTable(2); //创建一个表格,2为一行有几栏
            int width1[] = {45,40};//每栏的宽度
            table1.setWidths(width1); //设置宽度
            PdfPCell cell1 = new PdfPCell(new Paragraph("文字文字:    "+ksxx.getBkyxsm()+" "+ksxx.getBkyxsmc(),FontChinese11Normal));//每栏的值
            PdfPCell cell2 = new PdfPCell(new Paragraph("文字文字:"+ksxx.getXxfsmc(),FontChinese11Normal));
            cell1.setBorder(0);//设置边框线亮度为0
            cell2.setBorder(0);
            table1.addCell(cell1);//将每栏加入表格中
            table1.addCell(cell2);
            document.add(table1);//将表格加入到document中


            document.add(blankRow1);

            //table2
            PdfPTable table2 = new PdfPTable(2);
            table2.setWidths(width1); 
            PdfPCell cell3 = new PdfPCell(new Paragraph("文字文字:    "+ksxx.getBkzydm()+" "+ksxx.getBkzymc(),FontChinese11Normal));
            PdfPCell cell4 = new PdfPCell(new Paragraph("文字文字:"+ ksxx.getKsfsmc(), FontChinese11Normal));
            cell3.setBorder(0);
            cell4.setBorder(0);
            table2.addCell(cell3);
            table2.addCell(cell4);
            document.add(table2);
            //加入空行
            document.add(blankRow1);
            Paragraph ksfs = new Paragraph("文字文字:"+ksxx.getYjfxm()+" "+ksxx.getYjfxmc(), FontChinese11Normal);
            ksfs.setIndentationLeft(55f);// 段落缩进
            document.add(ksfs);
            document.add(Chunk.NEWLINE);
            //NumberFormat nf = NumberFormat.getInstance();
            document.add(new Chunk("         文字文字:", FontChinese11Bold));
            document.add(p1);
            //加入空行
            document.add(blankRow1);
            //table3
            PdfPTable table3 = new PdfPTable(4);
            int width3[] = {25,35,25,30};
            table3.setWidths(width3); 
            PdfPCell cell5 = new PdfPCell(new Paragraph("文字文字:",FontChinese11Normal));
            PdfPCell cell6 = new PdfPCell(new Paragraph(""+checkFloat(ksxx.getZzll()),FontChinese11Normal));
            PdfPCell cell7 = new PdfPCell(new Paragraph("文字文字:",FontChinese11Normal));
            PdfPCell cell8= new PdfPCell(new Paragraph(""+checkFloat(ksxx.getWgy()),FontChinese11Normal));
            cell5.setBorder(0);
            cell6.setBorder(0);
            cell7.setBorder(0);
            cell8.setBorder(0);
            table3.addCell(cell5);
            table3.addCell(cell6);
            table3.addCell(cell7);
            table3.addCell(cell8);
            document.add(table3);
            //加入空行
            document.add(blankRow1);
            document.close();
            ba.writeTo(fos2); // response.getOutputStream()
            fos2.close();
            ba.close(); // 导出pdf注解

maven,pom.xml:

 <dependency>
     <groupId>com.itextpdf</groupId>
     <artifactId>itextpdf</artifactId>
     <version>5.5.10</version>
    </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-asian</artifactId>
            <version>5.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15on</artifactId>
            <version>1.55</version>
        </dependency>

猜你喜欢

转载自blog.csdn.net/qq_36675996/article/details/79281095