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();
}
}
}

iTex导出PDF的更多相关文章

  1. .Net导出pdf文件,C#实现pdf导出

    最近碰见个需求需要实现导出pdf文件,上网查了下代码资料总结了以下代码.可以成功的实现导出pdf文件. 在编码前需要在网上下载个itextsharp.dll,此程序集是必备的.楼主下载的是5.0版本, ...

  2. JS导出PDF插件(支持中文、图片使用路径)

    在WEB上想做一个导出PDF的功能,发现jsPDF比较多人推荐,遗憾的是不支持中文,最后找到pdfmake,很好地解决了此问题.它的效果可以先到http://pdfmake.org/playgroun ...

  3. ITextSharp导出PDF表格和图片(C#)

    文章主要介绍使用ITextSharp导出PDF表格和图片的简单操作说明,以下为ITextSharp.dll下载链接 分享链接:http://pan.baidu.com/s/1nuc6glj 密码:3g ...

  4. JAVA导出pdf实例

    一.直接导出成PDF   Java代码 1. import java.io.FileNotFoundException; 2. import java.io.FileOutputStream; 3.  ...

  5. 利用ITextSharp导出PDF文件

    最近项目中需要到处PDF文件,最后上网搜索了一下,发现ITextSharp比较好用,所以做了一个例子: public string ExportPDF() { //ITextSharp Usage / ...

  6. iText导出pdf、word、图片

    一.前言 在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText.通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超级连接显示或 ...

  7. Itext导出PDF,word,图片案例

    iText导出pdf.word.图片 一.前言 在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText.通过在服务器端使用Jsp或JavaBean生 ...

  8. Ireport 报表导出 Poi + ireport 导出pdf, word ,excel ,htm

    Ireport 报表导出 Poi + ireport 导出pdf, doc ,excel ,html 格式 下面是报表导出工具类reportExportUtils 需要导出以上格式的报表 只需要调用本 ...

  9. Spring Boot 系列教程18-itext导出pdf下载

    Java操作pdf框架 iText是一个能够快速产生PDF文件的java类库.iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的.它的类库尤其与java Servlet有很好 ...

随机推荐

  1. table头部固定,内容滚动

    可以设置两个table,th,td得设置宽度:     <table>       <thead>          <tr><th></th&g ...

  2. JavaScript 复杂判断的优雅写法

    JavaScript 复杂判断的优雅写法 <div> <input type="button" name="btn" value=" ...

  3. for循环提高内存访问效率的做法

    今天写程序的时候突然想到一点,记录一下: 计算机内存地址是线性排列组织的,而利用for循环对高维数组结构进行遍历处理的时候,要保证最内层for循环遍历的是高维数组的最低维度,这样可以最大化利用CPU的 ...

  4. Linux之FTP/TFTP(vsftp、vsftpd) HTTP(httpd、apache) DHCP(dhcpd)

    FTP/TFTP(vsftp.vsftpd): FTP是File Transfer Protocol(文件传输协议)而中文简称为"文传协议".用于Internet上的控制文件的双向 ...

  5. Vue中数据的处理

    临时变量参数的存储 1.引用类型和值类型的差异,及存储 2.在项目中做的绑定值,首先v-model 存储到临时变量,同时把数据在提交到api之前,需要做处理,因为是引用类型的数据,在处理之前,会修改掉 ...

  6. 【codeforces 792C】Divide by Three

    [题目链接]:http://codeforces.com/contest/792/problem/C [题意] 让你删掉最少的数字使得剩下的数字%3==0 [题解] 看代码..内置题解了现在. [完整 ...

  7. 【codeforces 796D】Police Stations

    [题目链接]:http://codeforces.com/contest/796/problem/D [题意] 在一棵树上,保证每个点在距离d之内都有一个警察局; 让你删掉最多的边,使得剩下的森林仍然 ...

  8. SecureCRT 的使用技巧

    SecureCRT 支持 SSH1,SSH2,Telnet,RLogin,Serial,和 TAPI 协议, 一般用来登录Linux服务器进行跨系统操作,也可代替 超级终端,进行串口 调试. 1.串口 ...

  9. hdu_hpu第八次周赛_1002 大菲波数_201310270958

    大菲波数 Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submissi ...

  10. Linux - Virsh

    virsh命令 suspend resume dumpxml   KVM平台以存储池的形式对存储进行统一管理,所谓存储池能够理解为本地文件夹.通过远端磁盘阵列(iSCSI.NFS)分配过来磁盘或文件夹 ...