- 浏览: 73827 次
- 来自: 北京
文章分类
最新评论
-
lifei2199:
[*]
解决session超时跳转首页,跳出frameset -
ITCheng:
<table id="errorLogTabl ...
Jsp导出Excel -
ITCheng:
dingding5060 写道这个插件商用要付费吗?
不需 ...
HighChart -
dingding5060:
这个插件商用要付费吗?不需要调用什么google api吧
HighChart -
ITCheng:
wanxkl 写道不错 用了 thangks
呵呵 多多交流 ...
java生成PDF格式文件并且加密
1.生成pdf的表格
package com.me.test; import java.awt.Color; import java.io.FileOutputStream; import com.lowagie.text.Cell; import com.lowagie.text.Document; import com.lowagie.text.Element; import com.lowagie.text.Font; import com.lowagie.text.PageSize; import com.lowagie.text.Paragraph; import com.lowagie.text.Table; import com.lowagie.text.pdf.BaseFont; import com.lowagie.text.pdf.PdfWriter; /** * 生成表格到硬盘 * * @author admin * */ public class ITextTest { public void getTable(){ try { Document document = new Document(PageSize.A4, 20, 20, 20, 20); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("f:/IText/table.pdf")); document.open(); BaseFont bfChinese; bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false); Font fontChinese = new Font(bfChinese, 9, Font.BOLD, Color.black); Table t = new Table(12, 2); // t.setBorderColor(new Color(220, 255, 100)); int width[] = { 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, }; t.setWidths(width); t.setWidth(100); // 占页面宽度 % t.setPadding(1); t.setSpacing(0); t.setBorderWidth(2); Cell c1 = new Cell("header1"); t.addCell(c1); c1 = new Cell("Header2"); t.addCell(c1); c1 = new Cell("Header3"); t.addCell(c1); c1 = new Cell("Header4"); t.addCell(c1); c1 = new Cell("Header5"); t.addCell(c1); c1 = new Cell("Header6"); t.addCell(c1); c1 = new Cell("Header7"); t.addCell(c1); c1 = new Cell("Header8"); t.addCell(c1); c1 = new Cell("Header9"); t.addCell(c1); c1 = new Cell("Header10"); t.addCell(c1); c1 = new Cell("Header11"); t.addCell(c1); c1 = new Cell("Header12"); t.addCell(c1); int k = 0; while (k < 3) { for (int q = 0; q < 12; q++) { Paragraph par = new Paragraph(k + "-" + q, fontChinese); c1 = new Cell(par); c1.setHorizontalAlignment(Element.ALIGN_CENTER); t.addCell(c1); } k++; } for (int i = 0; i < 24; i++) { String num = Integer.toString(i); c1.setHorizontalAlignment(Element.ALIGN_CENTER); c1 = new Cell(num); c1.setColspan(2); c1.setRowspan(1); t.addCell(c1); } c1 = new Cell("26"); t.addCell(c1); document.add(t); // 创建一个新页面 document.newPage(); document.add(t); document.close(); } catch (Exception e2) { e2.printStackTrace(); } } }
2.将网页中的信息,用pdf格式文件弹出
package com.me.test; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.PdfWriter; /** * 在网页上获取信息,查看pdf格式文件 * @author admin * */ public class PdfServlet extends HttpServlet { /** * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response) */ protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { // Get the text that will be added to the PDF String text = request.getParameter("text"); if (text == null || text.trim().length() == 0) { text = "You didn't enter any text."; } // step 1 Document document = new Document(); // step 2 ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfWriter.getInstance(document, baos); // step 3 document.open(); // step 4 document.add(new Paragraph(String.format( "You have submitted the following text using the %s method:", request.getMethod()))); document.add(new Paragraph(text)); // step 5 document.close(); // setting some response headers response.setHeader("Expires", "0"); response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0"); response.setHeader("Pragma", "public"); // setting the content type response.setContentType("application/pdf"); // the contentlength response.setContentLength(baos.size()); // write ByteArrayOutputStream to the ServletOutputStream OutputStream os = response.getOutputStream(); baos.writeTo(os); os.flush(); os.close(); } catch(DocumentException e) { throw new IOException(e.getMessage()); } } /** * Serial version UID. */ private static final long serialVersionUID = 6067021675155015602L; }
3.在网页上直接以pdf的形式显示
package com.me.test; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.pdf.PdfWriter; import com.lowagie.text.Element; import com.lowagie.text.PageSize; import com.lowagie.text.pdf.PdfPTable; /** * 直接在网页中生成PDF格式 查看 */ /** * Hello World example as a Servlet. * * @author blowagie */ public class HelloWorldServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 3710911016238241119L; /** * Returns a PDF, RTF or HTML document. * * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ public void doGet (HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { System.out.println("document.add(BigTable)"); // step1 Document document = new Document(PageSize.A4.rotate(), 10, 10, 10, 10); //定义纸张类型及方向,页边距 // step 1 try { // step 2: we set the ContentType and create an instance of the corresponding Writer response.setContentType("application/pdf"); PdfWriter.getInstance(document, response.getOutputStream()); // step3 document.open(); // step4 定义表格填充内容 String[] bogusData = { "M0065920", "SL", "FR86000P", "PCGOLD", "119000", "96 06", "2001-08-13", "4350", "6011648299", "FLFLMTGP", "153", "119000.00" }; int NumColumns = 12; //定义表格列数 PdfPTable datatable = new PdfPTable(NumColumns); //创建新表. int headerwidths[] = { 9, 4, 8, 10, 8, 11, 9, 7, 9, 10, 4, 10 }; // percentage 定义表格头宽度 datatable.setWidths(headerwidths); datatable.setWidthPercentage(100); // percentage datatable.getDefaultCell().setPadding(3); datatable.getDefaultCell().setBorderWidth(2); datatable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); //以下是填充表头 datatable.addCell("Clock #"); datatable.addCell("Trans Type"); datatable.addCell("Cusip"); datatable.addCell("Long Name"); datatable.addCell("Quantity"); datatable.addCell("Fraction Price"); datatable.addCell("Settle Date"); datatable.addCell("Portfolio"); datatable.addCell("ADP Number"); datatable.addCell("Account ID"); datatable.addCell("Reg Rep ID"); datatable.addCell("Amt To Go "); datatable.setHeaderRows(1); // this is the end of the table header datatable.getDefaultCell().setBorderWidth(1); for (int i = 1; i < 750; i++) { if (i % 2 == 1) { datatable.getDefaultCell().setGrayFill(0.9f); } for (int x = 0; x < NumColumns; x++) { datatable.addCell(bogusData[x]); } if (i % 2 == 1) { datatable.getDefaultCell().setGrayFill(0.0f); } } document.add(datatable); //加载新表 } catch(DocumentException de) { de.printStackTrace(); System.err.println("document: " + de.getMessage()); } // step 5: we close the document (the outputstream is also closed internally) document.close(); } }
4.生成PDF到计算机中
package com.me.test; import java.awt.*; import java.io.*; import com.lowagie.text.*; import com.lowagie.text.Font; import com.lowagie.text.Image; import com.lowagie.text.Rectangle; import com.lowagie.text.pdf.BaseFont; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfReader; import com.lowagie.text.pdf.PdfWriter; /** * 通过给定的短语生成pdf文件,并且加密 */ /** * First iText example: Hello World. */ public class HelloWorld { /** Path to the resulting PDF file. */ public static final String RESULT = "f:/hello.pdf"; public static final String pwd = "123456"; public static final String result = "f:/Itext/b.gif"; /** * Creates a PDF file: hello.pdf * * @param args * no arguments needed */ public static void main(String[] args) throws DocumentException, IOException { new HelloWorld().createPdf(RESULT); } /** * Creates a PDF document. * * @param filename * the path to the new PDF document * @throws DocumentException * @throws IOException */ public void createPdf(String filename) throws DocumentException, IOException { // 设定文本样式 Rectangle rec = new Rectangle(PageSize.A4); rec.setBackgroundColor(Color.GRAY); rec.setBorder(Rectangle.TOP); rec.setBorderColor(Color.black); rec.setBorderWidth(50); // 创建本文 Document doc = new Document(rec, 100, 201, 20, 20); // 设定路径 PdfWriter pdf = PdfWriter.getInstance(doc, new FileOutputStream( HelloWorld.RESULT)); // 设定布局 pdf.setViewerPreferences(PdfWriter.PageModeUseThumbs | PdfWriter.PageLayoutTwoColumnLeft | PdfWriter.HideMenubar); // 加密 pdf.setEncryption(pwd.getBytes(), pwd.getBytes(), PdfWriter.ALLOW_COPY | PdfWriter.ALLOW_PRINTING, PdfWriter.STANDARD_ENCRYPTION_40); // 设置中文 BaseFont base = null; Font fontChinese = null; try { base = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.EMBEDDED); fontChinese = new Font(base, 18, Font.BOLD); } catch (DocumentException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } doc.open(); doc.add(new Paragraph("你好我是Pro", fontChinese)); doc.close(); } }
- itext-5.1.3.rar (8.8 MB)
- 下载次数: 11
发表评论
-
java:创建自己的Liberaries的步骤
2013-07-02 11:48 7271.Windows-Preferences-Java-Bui ... -
log4j配置
2012-11-07 17:54 696log4j.rootLogger=DEBUG,CONSOLE, ... -
Tomcat 在IE中下载rar文件直接以乱码体式格式打开解决规划
2012-09-27 17:32 1275这几天一向很纳闷,在Tomcat安排的网站中的下载文件中,若是 ... -
根据月份获得当月天数
2012-05-18 21:13 853public static void main(String ... -
项目上线后去除80端口以及项目名称
2012-05-16 11:17 8321.在Webapps文件夹下,建立一个ROOT文件夹文件夹里建 ... -
jexcelapi 的使用
2012-05-11 10:59 818<result name="dayExcel& ... -
遍历文件夹下的文件名称
2012-03-23 12:33 753package test; import java.io ... -
文件读取为字符串,字符串存储为文件
2012-03-15 15:17 899将外部文件读取成为字符串 public String doP ... -
将对象以xml的形式在控制台输出
2012-03-05 20:33 557String str=BeanUtil.formatBean2 ... -
java获取当前月的天数
2012-02-09 10:46 1885import java.text.ParseExcep ... -
java生成PDF格式文件并且加密
2011-12-27 11:26 4409package com.me.test; import ... -
WebService的创建发布以及应用
2011-10-28 22:15 8161.创建WebService服务 创建Web Service ... -
JAVA反射机制
2011-10-27 18:12 551JAVA反射机制 JAVA反 ...
相关推荐
java 使用IText导出PDF(包含图片、表格、文字等等Demo和依赖包),最全IText使用Demo,下载即可用
html渲染页面转换为pdf并设置页眉,页码,水印,目录,二维码
包含 itext-asian-5.2.0.jar itextpdf-5.5.5.jar
iText是一个能够快速产生PDF文件的java类库。iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的。它的类库尤其与java Servlet有很好的给合。使用iText与PDF能够使你正确的控制Servlet的输出。
Itext利用模板生成PDF实例demo,导入即可使用,唯一缺点就是表格数据循环次数不确定时,有可能造成分页,建议使用后台代码生成的PDF,可以带页码;见本人其他分享资源。
iText7 原生方法制作带斜线表格
用itext生成pdf文档,生成的内容有表格形式,文本形式,设置字体样式,文档页边距。
导入 <groupId>org.xhtmlrenderer <artifactId>core-renderer <version>R8 直接根目录下新建包org.xhtmlrenderer.layout 覆盖jar
Java iText 生成pdf文档源代码(包括插入文本、表格、图像)
文档POI只支持往生成的中填入文本,对于图片根本就不支持。使用itext 生成rtf格式的直接保存为word
iText 实现根据pdf模板生成pdf并导入数据.....iText-5.0.6.jar....附字体jar包 很久很久之前写的了 代码见: https://github.com/thisisthis/noh-doc
itextpdf-5.5.10.jar、itext-asian-5.2.0.jar、iText中文帮助、iText英文帮助文档 以及生成PDF文件时生成表格时单元格合并处理方法
itext7 html转换为pdf;iText7页码、页眉、页脚,itext 的复杂表格实现;完整springboot项目代码
NULL 博文链接:https://ilove2009.iteye.com/blog/655973
itext pdf word 中文 表格 图片,看了这个你就能用java生成word,pdf并插入图片,中文,表格。里面还有itext的API包括中文英文。
java使用itext导出pdf,可以生成表格、文字、图片等,demo中详细介绍了使用的版本,可能出现的问题,以及生成模板的方法。全网最全!!
java 后端生成pdf模板合并单元格表格的案例.docx
itext对pdf进行编辑.使用Adobe对pdf创建表单,itext对表单填充,下拉选,单选,文本框.复选框.itext对pdf进行编辑.使用Adobe对pdf创建表单,itext对表单填充,下拉选,单选,文本框.复选框
在企业的信息系统中,报表处理一直占比较重要的作用,这里介绍一种生成PDF报表的Java组件--iText。通过在服务器端使用Jsp或 JavaBean生成PDF报表,客户端采用超级连接显示或下载得到生成的报表,这样就很好的解决了B...
java生成pdf需要的包(支持中文,表格换行亲测),支持css,用到的是freemarker ,flying-saucer,itext