用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为 ...
随机推荐
- ARTS-S C语言主线程获取子线程返回值
#include<stdio.h> #include<stdlib.h> #include <pthread.h> typedef struct { int stu ...
- 将object转换成dyamic类型 解决long输出到浏览器过长精度丢失问题
需求: 数据库使用飘雪算法保存唯一标识 是一个18位长整形 将数据输出到浏览器时出现了精度丢失问题,这是一个重大的BUG.如果没解决好整个项目都要改一遍. 讨论有三个办法 1.把所有实体 数据模型的 ...
- QEMU让你无需开发板即可玩溜RT-Thread~
1.1 本文的目的和背景 嵌入式软件开发离不开开发板,在没有物理开发板的情况下,可以使用QEMU等类似的虚拟机来模拟开发板.QEMU是一个支持跨平台虚拟化的虚拟机,它可以虚拟很多开发板.为了方便大家在 ...
- 毕业半年,买了一台MacBook Pro
前言 只有光头才能变强. 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 毕业半年,给自己买了一台MacBookPro 1 ...
- .Net Core使用Ocelot网关(二) -鉴权认证
前言 上一章已经简单的介绍了ocelot的使用了,但是网关暴露的接口如果什么人都能访问的话安全性就太低啦.所以我们需要去鉴权和认证.这里我们使用identityServer4给我们的网关来鉴权认证. ...
- java动态编译运行代码
import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.URI;import java.util. ...
- java中小数点位数
import java.math.BigDecimal;import java.text.DecimalFormat;import java.text.NumberFormat;import java ...
- 面试 3-5年Java开发后的感受
在上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间.我的标准其实不复杂:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架,我相信其它公司招初级开发时,应该也照着这个标准来面 ...
- JS---另一个定时器:一次性的
之前学的定时器:setInterval和清除定时器 clearInterval(定时器id); //常用的,反复的执行 window.setInterval(function () { alert(& ...
- 微信小程序—支付宝小程序与微信小程序的不同点对比
支付宝小程序语法 http://caibaojian.com/aliapp-wxapp.html https://www.cnblogs.com/bgwhite/p/9447639.html http ...