如何使用Java将文本添加到PDF文档作为段落?
注:iText开发环境设置,下载iText7 jar(社区版:http://github.com/itext/itext7/releases/tag/7.0.4 ) ,创建一个工程:java_itext,并将下载的itext7 jar包和slf4j( http://www.slf4j.org/download.html )工具包添加到构建路径中。项目结构如下图所示 -
以下是使用Java将文本添加到PDF文档作为段落的程序。
package com.yiibai;
import com.itextpdf.io.font.FontConstants;
import com.itextpdf.kernel.color.Color;
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.Paragraph;
import com.itextpdf.layout.element.Text;
public class AddingParagraphsToPdf {
public static void main(String args[]) throws Exception {
String file = "formatingTextInPDF.pdf";
// Creating a PdfDocument object
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(file));
// Creating a Document object
Document doc = new Document(pdfDoc);
// 中文支持
PdfFont font = PdfFontFactory.createFont("STSong-Light", "UniGB-UCS2-H", false);
//table.setFont(font);
// Adding text to the document
Text text1 = new Text("易百教程是因特网上最大的 IT技术学习和开发者资源网站。包括全面的教程、完善的参考手册以及庞大的代码库。"+""
+ "易百教程每月接受成千上万的用户访问,并产生几十万以上的页面浏览量。");
// Setting color to the text
text1.setFontColor(Color.RED);
// Setting font to the text
text1.setFont(PdfFontFactory.createFont(FontConstants.HELVETICA));
text1.setFont(font);
// Creating a paragraph 1
Paragraph para1 = new Paragraph(text1);
para1.setFont(font);
Text text2 = new Text("易百教程把提供高品质的 IT技术学习入门实例教程资源作为自身的使命。"+""
+ "易百教程将为用户提供永久免费的内容和服务。易百教程运行费用主要来自两方面:少量的捐款及广告收入。"+""
+ "易百教程一直将全部资金用于网站内容的开发以及服务器硬件的升级和维护。");
// Setting color to the text
text2.setFontColor(Color.BLUE);
// Setting font to the text
text2.setFont(PdfFontFactory.createFont(FontConstants.HELVETICA));
text2.setFont(font);
// Creating a paragraph 2
Paragraph para2 = new Paragraph(text2);
para2.setFont(font);
// Adding paragraphs to the document
doc.add(para1);
doc.add(para2);
// Closing the document
doc.close();
System.out.println("Text added successfully...");
}
}
执行上面示例代码,得到以下结果 -
Text added successfully...
输出文件内容如下所示 -