1. 下载itextpdf.jar
基础包:http://jaist.dl.sourceforge.net/project/itext/iText/iText5.5.2/itext-5.5.2.zip
附加包:http://cznic.dl.sourceforge.net/project/itext/extrajars/extrajars-2.3.zip
我们只下载基础包就可以
2. 创建工作文件夹
daniel@daniel-mint ~/itext $ ls
daniel.java fonts itextpdf-5.5.2.jar run.sh
其中fonts是一个目录,用来存放我们用到的字体文件。
daniel@daniel-mint ~/itext $ cat run.sh
javac -cp .:itextpdf-5.5.2.jar $1.java
java -cp .:itextpdf-5.5.2.jar $1
rm $1.class
daniel@daniel-mint ~/itext $ cat daniel.java
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.text.Document;
import com.itextpdf.text.Font;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Chunk;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.pdf.BaseFont;
public class daniel
{
public static final String RESULT = "daniel.pdf";
public static void main(String[] args)
throws DocumentException, IOException
{
Document document = new Document(PageSize.A4);
PdfWriter.getInstance(document, new FileOutputStream(RESULT));
document.open();
BaseFont noto_hans_bold = BaseFont.createFont("./fonts/kaiti.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font noto_hans_bold_24 = new Font(noto_hans_bold, 24);
Paragraph par1 = new Paragraph(20);
Chunk chk1 = new Chunk("Daniel King is a software engineer", noto_hans_bold_24);
par1.add(chk1);
Chunk chk2 = new Chunk("\u8FD9\u4E2A\u4EBA\u662F\u4E2A\u7A0B\u5E8F\u5458\u554A", noto_hans_bold_24);
par1.add(chk2);
document.add(par1);
document.close();
}
}
3. 可以编写一个shell用来编码Unicode
首先下载 unicode工具
sudo apt-get install unicode
daniel@daniel-mint ~/itext $ cat tounicode.sh
unicode -s $1 | grep 'Uppercase' | sed -re 's/^U.*: U\+/\\u/g' | awk '{printf("%s", $1);}END{print ""}'
daniel@daniel-mint ~/itext $ bash tounicode.sh 这个人是个程序员啊
\u8FD9\u4E2A\u4EBA\u662F\u4E2A\u7A0B\u5E8F\u5458\u554A
4. 执行脚本生成PDF文件
daniel@daniel-mint ~/itext $ bash run.sh daniel
daniel@daniel-mint ~/itext $ ls
daniel.java daniel.pdf fonts itextpdf-5.5.2.jar run.sh tounicode.sh
5. 添加源码目录
将itextpdf-5.5.2-sources.jar解压到src目录下
然后创建ctags文件,这样就可以在源码中方便来回浏览了。
daniel@daniel-mint ~/itext $ ls
daniel.java daniel.pdf fonts itextpdf-5.5.2.jar run.sh src tags tounicode.sh