gitee java pdf转图片_Java之生成Pdf并对Pdf内容操作

虽说网上有很多可以在线导出Pdf或者word或者转成png等格式的工具,但是我觉得还是得了解知道是怎么实现的。一来,在线免费转换工具,是有容量限制的,达到一定的容量时,是不能成功导出的;二来,业务需求,特别是OA方面的项目,报表不单单只是在线通过浏览器登录对应的站点浏览还需有时导出Pdf格式(pdf格式为通用格式,无论是浏览器还是其他工具都能打开,因此特别是做项目实施的,除了用word编写文档之外,通常还导出一下pdf,这样一来保证给老板看时,不会因为某种原因打不开文件看不到对应的实质内容。

直接开门见山:

一、导入Maven依赖

4.0.0

site.duanzy

study_pdf

0.0.1-SNAPSHOT

war

study_pdf

UTF-8

com.itextpdf

itextpdf

5.5.10

com.itextpdf

itext-asian

5.2.0

org.bouncycastle

bcprov-jdk15on

1.54

javax

javaee-api

7.0

provided

org.glassfish.web

javax.servlet.jsp.jstl

1.2.2

maven-compiler-plugin

2.3.2

1.8

1.8

maven-war-plugin

2.2

3.1

false

二、编写Java代码

packagesite.duanzy.pdf.demo;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importcom.itextpdf.text.Document;importcom.itextpdf.text.DocumentException;importcom.itextpdf.text.Paragraph;importcom.itextpdf.text.pdf.PdfWriter;public classTestPDFDemo1 {public static void main(String[] args) throwsFileNotFoundException, DocumentException {//1.新建document对象

Document document = newDocument();//2.建立一个书写器(Writer)与document对象关联,通过书写器(Writer)可以将文档写入到磁盘中。//创建 PdfWriter 对象 第一个参数是对文档对象的引用,第二个参数是文件的实际名称,在该名称中还会给出其输出路径。

PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("E://Pdf//test.pdf"));

writer.flush();

writer.close();//3.打开文档

document.open();//4.添加一个内容段落

document.add(new Paragraph("Hello World!"));//5.关闭文档

document.close();

}

}

packagesite.duanzy.pdf.demo;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importcom.itextpdf.text.Document;importcom.itextpdf.text.DocumentException;importcom.itextpdf.text.Paragraph;importcom.itextpdf.text.pdf.PdfWriter;public classTestPDFDemo2 {public static void main(String[] args) throwsFileNotFoundException,

DocumentException {//创建文件

Document document = newDocument();//建立一个书写器

PdfWriter writer =PdfWriter.getInstance(document,new FileOutputStream("E://Pdf//test2.pdf"));//打开文件

document.open();//添加内容

document.add(new Paragraph("Some content here"));//设置属性//标题

document.addTitle("this is a title");//作者

document.addAuthor("Mr You");//主题

document.addSubject("this is subject");//关键字

document.addKeywords("Keywords");//创建时间

document.addCreationDate();//应用程序

document.addCreator("hd.com");//关闭文档

document.close();//关闭书写器

writer.close();

}

}

packagesite.duanzy.pdf.demo;importjava.io.FileOutputStream;importjava.io.IOException;importjava.net.URL;importcom.itextpdf.text.Document;importcom.itextpdf.text.DocumentException;importcom.itextpdf.text.Image;importcom.itextpdf.text.Paragraph;importcom.itextpdf.text.pdf.PdfWriter;public classTestPDFDemo3 {public static void main(String[] args) throwsDocumentException,

IOException {//创建文件

Document document = newDocument();//建立一个书写器

PdfWriter writer =PdfWriter.getInstance(document,new FileOutputStream("E://Pdf//test3.pdf"));//打开文件

document.open();//添加内容

document.add(new Paragraph("HD content here"));//图片1

Image image1 = Image.getInstance("E://Demo//workspace//java_pdf//src//main//webapp//images//test.png");//设置图片位置的x轴和y周

image1.setAbsolutePosition(100f, 550f);//设置图片的宽度和高度

image1.scaleAbsolute(200, 200);//将图片1添加到pdf文件中

document.add(image1);//图片2

Image image2 = Image.getInstance(new URL("https://gss0.bdstatic.com/-4o3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D220/sign=bda2ad09277f9e2f74351a0a2f31e962/0b46f21fbe096b63ea0d41bf0c338744eaf8accc.jpg"));//将图片2添加到pdf文件中

document.add(image2);//关闭文档

document.close();//关闭书写器

writer.close();

}

}

以上值列举三个测试代码,更多可以参考我的github:https://github.com/youcong1996/study_simple_demo.git

记住该示例代码在我的侧分支,分支名为java-pdf。

三、运行测试代码的最后结果(结果最后是生成pdf,一般控制台不报错,就表示OK)

全面示例运行后生成的文件如下图所示:

ee02ac2f423714bf7f57ba6f7b0b1d2d.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值