java如何生成pdf呢?
下文笔者讲述java代码创建pdf文件的方法分享,如下所示
实现思路: 使用itext7-core.jar包 中的方法,即可创建pdf文件,具体的实现步骤如下所示 --------------------------------------------------------- 1.创建PdfWriter,实例化pdf路径 2.创建一个pdf文档,并同Document和PdfWriter关联 3.向文档中添加内容 4.关闭文档 <dependency> <groupId>com.itextpdf</groupId> <artifactId>itext7-core</artifactId> <version>7.2.0</version> <type>pom</type> </dependency>例:
package com.java265.testmaven; import com.itextpdf.io.image.ImageDataFactory; import com.itextpdf.kernel.font.PdfFont; import com.itextpdf.kernel.font.PdfFontFactory; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Image; import com.itextpdf.layout.element.Paragraph; import com.itextpdf.layout.element.Table; /** * 生成pdf示例分享 java265.com iText生成pdf的示例分享 */ public class TestBuildPDF { public static void main(String[] args) throws Exception { buildPdf1(); buildPdf2(); buildPdf3(); buildPdf4(); } // 生成pdf public static void buildPdf1() throws Exception { PdfWriter pdfWriter = new PdfWriter("D:\\testpdf.pdf"); PdfDocument pdfDocument = new PdfDocument(pdfWriter); Document document = new Document(pdfDocument); document.add(new Paragraph("java265.com pdf文件")); document.close(); System.out.println("生成pdf完毕--1"); } // 生成带中文字体的pdf public static void buildPdf2() { try{ PdfWriter pdfWriter = new PdfWriter("D:\\testpdf中文字体.pdf"); PdfDocument pdfDocument = new PdfDocument(pdfWriter); // 字体文件可以使用 windows 华文彩云 PdfFont font = PdfFontFactory.createFont("C:\\Windows\\Fonts\\STCAIYUN.TTF"); Document document = new Document(pdfDocument).setFont(font); document.add(new Paragraph("java265.com中文信息--23efrerf \n \r \r 奥特曼!")); document.close(); }catch(Exception e){ e.printStackTrace(); } System.out.println("生成pdf完毕--2"); } // 生成带表格的pdf private static void buildPdf3() { try { PdfWriter pdfWriter = new PdfWriter("D:\\testpdf表格.pdf"); PdfDocument pdfDocument = new PdfDocument(pdfWriter); PdfFont font = PdfFontFactory.createFont("C:\\Windows\\Fonts\\STCAIYUN.TTF"); Document document = new Document(pdfDocument).setFont(font); Table table = new Table(4); table.setWidth(500); table.addHeaderCell("表头 1").addHeaderCell("表头 2").addHeaderCell("表头3").addHeaderCell("表头 4"); for (int i = 0; i < 160; i++) { table.addCell("cell " + i); } document.add(table); document.close(); } catch (Exception e) { e.printStackTrace(); } System.out.println("生成pdf完毕--3"); } // pdf中插入图片 public static void buildPdf4() { try{ PdfWriter pdfWriter = new PdfWriter("D:\\testpdf图片.pdf"); PdfDocument pdfDocument = new PdfDocument(pdfWriter); PdfFont font = PdfFontFactory.createFont("C:\\Windows\\Fonts\\STCAIYUN.TTF"); Document document = new Document(pdfDocument).setFont(font); Image img = new Image(ImageDataFactory.create("http://www.java265.com/images/javalogo.jpg")); img.setHeight((float) 50.0); img.setWidth((float) 50.0); document.add(img.setAutoScale(true)); document.close(); }catch(Exception e){ e.printStackTrace(); } System.out.println("pdf中插入图片完毕!"); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。