java如何生成pdf呢?

书欣 Java经验 发布时间:2022-07-26 11:14:48 阅读数:11612 1
下文笔者讲述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中插入图片完毕!");
	}
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202207/16588053244054.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者