Java操作PDF文件,如此简单

  1. PdfWriter pdfWriter = new PdfWriter(“./demo.pdf”);

  2. PdfDocument pdfDocument = new PdfDocument(pdfWriter);

  3. Document document = new Document(pdfDocument);

  4. document.add(new Paragraph(“Hello World”));

  5. document.close();

  6. }catch(Exception e){

  7. e.printStackTrace();

  8. }

  9. }

  10. }

示例结果:

中文

iText 不支持默认是不支持中文字体的,所以需要定义 PdfFont 中文字体样式。使用 PdfFontFactory 的 createFont 创建一个中文字体,并将中文字体设置到 document 中。

  1. public static void main(String[] args) {

  2. try{

  3. PdfWriter pdfWriter = new PdfWriter(“./demo1.pdf”);

  4. PdfDocument pdfDocument = new PdfDocument(pdfWriter);

  5. //字体文件可以使用 windows 系统中的

  6. PdfFont font = PdfFontFactory.createFont(“E:\\pdfProject\\src\\main\\java\\simhei.ttf”);

  7. Document document = new Document(pdfDocument).setFont(font);

  8. document.add(new Paragraph(“Hello World!你好,itext”));

  9. document.close();

  10. }catch(Exception e){

  11. e.printStackTrace();

  12. }

  13. }

示例结果:

表格

在项目中经常需要 PDF 文件中打印表格,这时就可以使用 Table 对象,创建一个个单元格并将表格内容写入单元格中。

  1. public static void main(String[] args) {

  2. try{

  3. PdfWriter pdfWriter = new PdfWriter(“./demo2.pdf”);

  4. PdfDocument pdfDocument = new PdfDocument(pdfWriter);

  5. PdfFont font = PdfFontFactory.createFont(“E:\\pdfProject\\src\\main\\java\\simhei.ttf”);

  6. Document document = new Document(pdfDocument).setFont(font);

  7. Table table = new Table(4);

  8. table.setWidth(500);

  9. table.addHeaderCell(“header 1”).addHeaderCell(“header 2”).addHeaderCell(“header 3”).addHeaderCell(“header 4”);

  10. for(int i = 0; i < 16; i++) {

  11. table.addCell("cell " + i);

  12. }

  13. document.add(table);

  14. document.close();

  15. }catch(Exception e){

  16. e.printStackTrace();

  17. }

  18. }

示例结果:

图片

图片的设置也很简单,创建 Image 对象填充到 document 中就可以了。

  1. public static void main(String[] args) {

  2. try{

  3. PdfWriter pdfWriter = new PdfWriter(“./demo3.pdf”);

  4. PdfDocument pdfDocument = new PdfDocument(pdfWriter);

  5. PdfFont font = PdfFontFactory.createFont(“E:\\pdfProject\\src\\main\\java\\simhei.ttf”);

  6. Document document = new Document(pdfDocument).setFont(font);

  7. Image img = new Image(ImageDataFactory.create(“E:\\pdfProject\\src\\main\\java\\img.png”));

  8. document.add(img.setAutoScale(true));

  9. document.close();

  10. }catch(Exception e){

  11. e.printStackTrace();

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
发者,这些资料都将为你打开新的学习之门!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 25
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值