用iText5-2-其他类型PDF
//设置文件属性的PDF
package com.wf.zhang.test; import java.io.FileOutputStream; import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Document;
import com.itextpdf.text.Font;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfWriter; public class test01 { public static void main(String[] args) {
Document document = new Document();
try
{
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("设置文件属性的PDF.pdf"));
document.open();
//设置宋体
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); //设置字大小 颜色
Font font = new Font(bfChinese, 20, Font.NORMAL, BaseColor.RED); //准备Person类
Person person = new Person();
person.setName("娃哈哈");
person.setAge(99);
person.setAdress("杭州西湖区文一路"); document.add(new Paragraph(person.toString(), font)); //Set attributes here
document.addAuthor("没有正经的人"); //作者
document.addCreationDate(); //创建时间
document.addCreator("销售报表.com"); //创建程序
document.addTitle("新的标题"); //标题
document.addSubject("第二次+++++++++生成pdf"); //主题 document.close();
writer.close();
} catch (Exception e)
{
e.printStackTrace();
}
} }
//带图片的PDF
package com.wf.zhang.test; import java.io.FileOutputStream;
import java.net.URL; import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Document;
import com.itextpdf.text.Font;
import com.itextpdf.text.Image;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfWriter; public class test02 {
public static void main(String[] args) {
Document document = new Document();
try {
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("带图片的PDF.pdf"));
document.open(); //设置宋体
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); //设置字大小 颜色
Font font = new Font(bfChinese, 20, Font.NORMAL, BaseColor.RED); //准备Person类
Person person = new Person();
person.setName("娃哈哈");
person.setAge(99);
person.setAdress("杭州西湖区文一路"); document.add(new Paragraph("带图片的123456PDF"+ "\r\n" +person.toString(), font)); // Add Image
Image image1 = Image.getInstance("temp.jpg");
// Fixed Positioning
image1.setAbsolutePosition(100f, 550f); //图片在PDF中的绝对位置
// Scale to new height and new width of image
image1.scaleAbsolute(100, 100); //图片在PDF中的大小
// Add to document
document.add(image1); String imageUrl = "http://www.eclipse.org/xtend/images/java8_logo.png";
Image image2 = Image.getInstance(new URL(imageUrl));
document.add(image2); document.close();
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
//带表格的PDF
package com.wf.zhang.test; import java.io.FileOutputStream; import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Document;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.Paragraph;
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 test03 {
public static void main(String[] args) {
Document document = new Document();
try {
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("表格的PDF.pdf"));
document.open(); //设置宋体
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); //设置字大小 颜色
Font font = new Font(bfChinese, 20, Font.NORMAL, BaseColor.RED); PdfPTable table = new PdfPTable(3); // 3 columns.
table.setWidthPercentage(100); // Width 100%
table.setSpacingBefore(10f); // Space before table
table.setSpacingAfter(10f); // Space after table // Set Column widths
float[] columnWidths = { 1f, 1f, 1f };
table.setWidths(columnWidths); PdfPCell cell1 = new PdfPCell(new Paragraph("序号",font));
cell1.setBorderColor(BaseColor.BLUE);
cell1.setPaddingLeft(10);
cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
cell1.setVerticalAlignment(Element.ALIGN_MIDDLE); PdfPCell cell2 = new PdfPCell(new Paragraph("日期",font));
cell2.setBorderColor(BaseColor.GREEN);
cell2.setPaddingLeft(10);
cell2.setHorizontalAlignment(Element.ALIGN_CENTER);
cell2.setVerticalAlignment(Element.ALIGN_MIDDLE); PdfPCell cell3 = new PdfPCell(new Paragraph("销售量",font));
cell3.setBorderColor(BaseColor.RED);
cell3.setPaddingLeft(10);
cell3.setHorizontalAlignment(Element.ALIGN_CENTER);
cell3.setVerticalAlignment(Element.ALIGN_MIDDLE); // To avoid having the cell border and the content overlap, if you
// are having thick cell borders
// cell1.setUserBorderPadding(true);
// cell2.setUserBorderPadding(true);
// cell3.setUserBorderPadding(true); table.addCell(cell1);
table.addCell(cell2);
table.addCell(cell3); document.add(table); document.close();
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
//创建列表项的PDF
package com.wf.zhang.test; import java.io.FileOutputStream; import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.GreekList;
import com.itextpdf.text.List;
import com.itextpdf.text.ListItem;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.RomanList;
import com.itextpdf.text.ZapfDingbatsList;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfWriter; public class test04 {
public static void main(String[] args) {
Document document = new Document();
try {
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("创建列表项的PDF.pdf"));
document.open(); //设置宋体
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); //设置字大小 颜色
Font font = new Font(bfChinese, 20, Font.NORMAL, BaseColor.RED); document.add(new Paragraph("首页",font)); // Add ordered list
List orderedList = new List(List.ORDERED);
orderedList.add(new ListItem("第一行",font));
orderedList.add(new ListItem("第二行",font));
orderedList.add(new ListItem("第三行",font));
document.add(orderedList); // Add un-ordered list
List unorderedList = new List(List.UNORDERED);
unorderedList.add(new ListItem("第一条",font));
unorderedList.add(new ListItem("第二条",font));
unorderedList.add(new ListItem("第三条",font));
document.add(unorderedList); // Add roman list
RomanList romanList = new RomanList();
romanList.add(new ListItem("第一项",font));
romanList.add(new ListItem("第二项",font));
romanList.add(new ListItem("第三项",font));
document.add(romanList); // Add Greek list
GreekList greekList = new GreekList();
greekList.add(new ListItem("第一点",font));
greekList.add(new ListItem("第二点",font));
greekList.add(new ListItem("第三点",font));
document.add(greekList); // ZapfDingbatsList List Example
ZapfDingbatsList zapfDingbatsList = new ZapfDingbatsList(43, 30);
zapfDingbatsList.add(new ListItem("第一步",font));
zapfDingbatsList.add(new ListItem("第二步",font));
zapfDingbatsList.add(new ListItem("第三步",font));
document.add(zapfDingbatsList); // List and Sublist Examples
List nestedList = new List(List.UNORDERED);
nestedList.add(new ListItem("Item 1")); List sublist = new List(true, false, 30);
sublist.setListSymbol(new Chunk("", FontFactory.getFont(FontFactory.HELVETICA, 6)));
sublist.add("A");
sublist.add("B");
nestedList.add(sublist); nestedList.add(new ListItem("Item 2")); sublist = new List(true, false, 30);
sublist.setListSymbol(new Chunk("", FontFactory.getFont(FontFactory.HELVETICA, 6)));
sublist.add("C");
sublist.add("D");
nestedList.add(sublist); document.add(nestedList); document.close();
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
//带样式的PDF 在wps 会变成两页 不知道是什么鬼 使用网站的图片
package com.wf.zhang.test; import java.io.FileOutputStream; import com.itextpdf.text.Chapter;
import com.itextpdf.text.Document;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Section;
import com.itextpdf.text.pdf.CMYKColor;
import com.itextpdf.text.pdf.PdfWriter; public class test05 {
public static void main(String[] args) {
Font blueFont = FontFactory.getFont(FontFactory.HELVETICA, 8, Font.NORMAL, new CMYKColor(255, 0, 0, 0));
Font redFont = FontFactory.getFont(FontFactory.COURIER, 12, Font.BOLD, new CMYKColor(0, 255, 0, 0));
Font yellowFont = FontFactory.getFont(FontFactory.COURIER, 14, Font.BOLD, new CMYKColor(0, 0, 255, 0));
Document document = new Document();
try {
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("带样式的PDF.pdf"));
document.open();
// document.add(new Paragraph("Styling Example")); // Paragraph with color and font styles
Paragraph paragraphOne = new Paragraph("Some colored paragraph text", redFont);
document.add(paragraphOne); // Create chapter and sections
Paragraph chapterTitle = new Paragraph("Chapter Title", yellowFont);
Chapter chapter1 = new Chapter(chapterTitle, 1);
chapter1.setNumberDepth(0); Paragraph sectionTitle = new Paragraph("Section Title", redFont);
Section section1 = chapter1.addSection(sectionTitle); Paragraph sectionContent = new Paragraph("Section Text content", blueFont);
section1.add(sectionContent); document.add(chapter1); document.close();
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
//用户密码 和所有者密码都能打开PDF
package com.wf.zhang.test; import java.io.File;
import java.io.FileOutputStream; import com.itextpdf.text.Document;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter; public class test06 { private static String USER_PASSWORD = "123456"; //用户密码
private static String OWNER_PASSWORD = "asdfgh"; //所以者密码 public static void main(String[] args) {
try {
java.io.OutputStream file = new FileOutputStream(new File("加密的PDF.pdf"));
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, file); writer.setEncryption(USER_PASSWORD.getBytes(), OWNER_PASSWORD.getBytes(), PdfWriter.ALLOW_PRINTING,
PdfWriter.ENCRYPTION_AES_128); document.open();
document.add(new Paragraph("Password Protected pdf example !!"));
document.close();
file.close(); } catch (Exception e) {
e.printStackTrace();
}
} }
//具有权限的PDF
package com.wf.zhang.test; import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream; import com.itextpdf.text.Document;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter; public class test07 { public static void main(String[] args) {
try {
OutputStream file = new FileOutputStream(new File("具有权限的PDF.pdf"));
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, file); writer.setEncryption("".getBytes(), "".getBytes(),
PdfWriter.ALLOW_PRINTING , //Only printing allowed; Try to copy text !!
PdfWriter.ENCRYPTION_AES_128); document.open();
document.add(new Paragraph("Limited Access File !!"));
document.close();
file.close(); } catch (Exception e) {
e.printStackTrace();
}
}
}
//文字加图片的PDF 修改之前的HelloWorldPDF
package com.wf.zhang.test; import java.io.FileOutputStream;
import java.io.IOException; import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Image;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper; public class test08 {
public static void main(String[] args) {
try {
// Read file using PdfReader
PdfReader pdfReader = new PdfReader("HelloWorld.pdf"); // Modify file using PdfReader
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileOutputStream("HelloWorld-modified.pdf")); Image image = Image.getInstance("temp.jpg");
image.scaleAbsolute(100, 50);
image.setAbsolutePosition(100f, 500f); for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) {
PdfContentByte content = pdfStamper.getUnderContent(i);
content.addImage(image);
} pdfStamper.close(); } catch (IOException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
用iText5-2-其他类型PDF的更多相关文章
- Java iText5.5.1 绘制PDF表格
iText下载链接:http://sourceforge.net/projects/itext/files/ 会有两个文件夹:extrajars中的extrajars-2.3.jar文件用于解决中文不 ...
- itext5和itext7操作pdf平铺和图层叠加(tiling, and N-upping)
区别 itext5 生成pdf版本:1.4(Acrobat5.x) itext7 生成pdf版本:1.7(Acrobat8.x) iText7生成的pdf文件大, itext7 Java库更加系统和完 ...
- Java使用Itext5.5.10进行pdf签章
说到PDF数字签名签章,这个其实也是数字证书信息安全的应用范畴,关于数字证书和数字签名,网上有很多解释说明,但讲解都多不够详细准确,这边推荐一篇大神的博文,讲解浅显易懂形象数字证书 数字签名 数据加密 ...
- ABBYY PDF Transformer+功能概述
ABBYY PDF Transformer+是一个新的.全面的巧妙解决PDF文档的工具,它将泰比的光学字符识别(OCR)技术和Adobe®PDF技术完美结合,以确保实现便捷地处理任何类型的PDF文件, ...
- PHP通过PDFParser解析PDF文件
之前一直找到的资料都是教你怎么生成pdf文档,比如:TCPDF.FPDF.wkhtmltopdf.而我碰到的项目里需要验证从远程获取的pdf文件是否受损.文件内容是否一致这些问题,这些都不能直接提供给 ...
- 打印信息,通过.jasper工具将集合输出到PDF文件 然后利用打印机打印文件
我们上一次成功的利用iReport工具制作了一张报表,并且预览了报表最后的效果,也生成了格式为“jrpxml”.“jrxml”与“jasper”的文件.这次,我们使用jasper提供的java的api ...
- Java获取URL链接的文件类型
问题发生: Java从网络批量读取图片并保存至本网站服务器后再插入文章中 今天转入一篇文章 http://news.qq.com/a/20170605/045860.htm 发现图片未能成功上传 查看 ...
- Font and PDF
1. 独立存在的Font文件 有三类: Type 1 Font TrueType Font OpenType Font Type 1 是由Adobe开发的,它是基于PostScript的Font,它通 ...
- ASP.NET 中 ContentType 类型
在ASP.NET中使用Response.ContentType="类型名";来确定输出格式 不同的ContentType 会影响客户端所看到的效果.默认的ContentType为 ...
随机推荐
- .net core 3.1简体中文语言包,英文只能提示变成中文!
.net core 3.1简体中文语言包,英文只能提示变成中文!这个是我自己手动用谷歌翻译翻译的一批文档,已经把.net core3.1完全翻译了,由于是翻译器翻译,所以怕翻译有错漏,所以没有去掉英文 ...
- NIO-Channel接口分析
目录 NIO-Channel源码分析 目录 前言 接口 SCTP协议 UDP协议 TCP协议 文件 总结 相关文献 NIO-Channel源码分析 目录 NIO-概览 NIO-Buffer NIO-C ...
- ESP8266调试(UDP调试)
1.设置STA模式 AT+CWMODE=1 2.加入热点 AT+CWJAP="Admin_name","password" 3.开启单路连接 AT+CIPMUX ...
- R语言绘制KS曲线
更多大数据分析.建模等内容请关注公众号<bigdatamodeling> 将代码封装在函数PlotKS_N里,Pred_Var是预测结果,可以是评分或概率形式:labels_Var是好坏标 ...
- 大数据学习笔记——Hadoop编程之SequenceFile
SequenceFile(Hadoop序列文件)基础知识与应用 上篇编程实战系列中本人介绍了基本的使用HDFS进行文件读写的方法,这一篇将承接上篇重点整理一下SequenceFile的相关知识及应用 ...
- 5个点彻底搞清楚SpringBoot注解
作者:张伯毅 一.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Configuration和@EnableAutoConfig ...
- Socket与系统调用深度分析
学习一下对Socket与系统调用的分析分析 一.介绍 我们都知道高级语言的网络编程最终的实现都是调用了系统的Socket API编程接口,在操作系统提供的socket系统接口之上可以建立不同端口之间的 ...
- MySQL的安装、启动和基础配置 —— windows版本
下载 第一步:打开网址,https://www.mysql.com,点击downloads之后跳转到https://www.mysql.com/downloads 第二步 :跳转至网址https:// ...
- chrome显示正常,IE报400的错
发现是因为参数里面有一个是中文,应该是IE没有转码,所以会报错,只要用encodeURI()实现转码即可
- poj 3279 Fliptile (简单搜索)
Fliptile Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 16558 Accepted: 6056 Descrip ...