iText 导出 PDF,所需 jar 包如下:
itext-asian-5.2.0.jar 支持导出中文的 jar 包
itextpdf-5.5.9.jar PDF 核心 jar 包
bcprov-jdk15on-147.jar PDF 加密 jar 包 不加入则会报:org.bouncycastle.asn1.ASN1OctetString 错误。
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.Image;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
public class JavaPdfHelloWorld {
public static void main(String[] args)
throws IOException {
Document document = new Document();
try {
//中文字体
BaseFont bfChinese =
BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);
//写入器
PdfWriter writer = PdfWriter.getInstance(document,
new FileOutputStream("C:\\Users\\hp\\Desktop\\HelloWorld.pdf"));
// 设置密码为:"World"
writer.setEncryption("xiaofei".getBytes(),
"12346".getBytes(),
PdfWriter.ALLOW_SCREENREADERS,
PdfWriter.STANDARD_ENCRYPTION_128);
//添加PDF属性
document.addTitle("小飞机的测试PDF");
document.setPageSize(PageSize.A4);
document.addAuthor("xiaofei.xian");
document.addCreationDate();
document.addKeywords("xianxiaofei,xiaofei,fei,pdf,PDF,sysecho,Sysecho,SYSECHO");
document.addSubject("12341234567");
document.open();
Paragraph pph1 = new Paragraph("因为我想活着,我不能掩藏我心中的本欲,正如我心中爱你美丽,又怎能嘴上装四大皆空。", FontChinese);
pph1.setSpacingAfter(50);
pph1.setSpacingBefore(50);
pph1.setFont(FontChinese);
document.add(pph1);
//读取一个图片
Image image = Image.getInstance("C:\\Users\\hp\\Desktop\\1.jpg");
//设置图片的位置
image.setAbsolutePosition(50, 750);
//设置图片的大小
image.scaleAbsolute(68, 80);
//插入一个图片
document.add(image);
//表格插入
PdfPTable table = new PdfPTable(3);
table.setHorizontalAlignment(Element.ALIGN_LEFT);
PdfPCell cell = new PdfPCell(new Phrase("表头1", FontChinese));
cell.setBackgroundColor(BaseColor.LIGHT_GRAY);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(cell);
cell.setPhrase(new Phrase("表头2", FontChinese));
table.addCell(cell);
cell.setPhrase(new Phrase("表头3", FontChinese));
table.addCell(cell);
table.addCell("2.1");
table.addCell("2.2");
table.addCell("2.3");
document.add(table);
document.close();
writer.close();
System.out.println("pdf exported success!");
}
catch (DocumentException e) {
e.printStackTrace();
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于