-
PdfWriter pdfWriter = new PdfWriter(“./demo.pdf”);
-
PdfDocument pdfDocument = new PdfDocument(pdfWriter);
-
Document document = new Document(pdfDocument);
-
document.add(new Paragraph(“Hello World”));
-
document.close();
-
}catch(Exception e){
-
e.printStackTrace();
-
}
-
}
-
}
示例结果:
中文
iText 不支持默认是不支持中文字体的,所以需要定义 PdfFont 中文字体样式。使用 PdfFontFactory 的 createFont 创建一个中文字体,并将中文字体设置到 document 中。
-
public static void main(String[] args) {
-
try{
-
PdfWriter pdfWriter = new PdfWriter(“./demo1.pdf”);
-
PdfDocument pdfDocument = new PdfDocument(pdfWriter);
-
//字体文件可以使用 windows 系统中的
-
PdfFont font = PdfFontFactory.createFont(“E:\\pdfProject\\src\\main\\java\\simhei.ttf”);
-
Document document = new Document(pdfDocument).setFont(font);
-
document.add(new Paragraph(“Hello World!你好,itext”));
-
document.close();
-
}catch(Exception e){
-
e.printStackTrace();
-
}
-
}
示例结果:
表格
在项目中经常需要 PDF 文件中打印表格,这时就可以使用 Table 对象,创建一个个单元格并将表格内容写入单元格中。
-
public static void main(String[] args) {
-
try{
-
PdfWriter pdfWriter = new PdfWriter(“./demo2.pdf”);
-
PdfDocument pdfDocument = new PdfDocument(pdfWriter);
-
PdfFont font = PdfFontFactory.createFont(“E:\\pdfProject\\src\\main\\java\\simhei.ttf”);
-
Document document = new Document(pdfDocument).setFont(font);
-
Table table = new Table(4);
-
table.setWidth(500);
-
table.addHeaderCell(“header 1”).addHeaderCell(“header 2”).addHeaderCell(“header 3”).addHeaderCell(“header 4”);
-
for(int i = 0; i < 16; i++) {
-
table.addCell("cell " + i);
-
}
-
document.add(table);
-
document.close();
-
}catch(Exception e){
-
e.printStackTrace();
-
}
-
}
示例结果:
图片
图片的设置也很简单,创建 Image 对象填充到 document 中就可以了。
-
public static void main(String[] args) {
-
try{
-
PdfWriter pdfWriter = new PdfWriter(“./demo3.pdf”);
-
PdfDocument pdfDocument = new PdfDocument(pdfWriter);
-
PdfFont font = PdfFontFactory.createFont(“E:\\pdfProject\\src\\main\\java\\simhei.ttf”);
-
Document document = new Document(pdfDocument).setFont(font);
-
Image img = new Image(ImageDataFactory.create(“E:\\pdfProject\\src\\main\\java\\img.png”));
-
document.add(img.setAutoScale(true));
-
document.close();
-
}catch(Exception e){
-
e.printStackTrace();
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
发者,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!