生成PDF文件是主要应用的是ITEXT插件

  1. import java.awt.Color;
  2. import java.io.File;
  3. import java.io.FileOutputStream;
  4. import java.io.IOException;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7.  
  8. import com.lowagie.text.Cell;
  9. import com.lowagie.text.Document;
  10. import com.lowagie.text.DocumentException;
  11. import com.lowagie.text.Element;
  12. import com.lowagie.text.Font;
  13. import com.lowagie.text.Image;
  14. import com.lowagie.text.PageSize;
  15. import com.lowagie.text.Paragraph;
  16. import com.lowagie.text.Table;
  17. import com.lowagie.text.pdf.BaseFont;
  18. import com.lowagie.text.pdf.PdfPCell;
  19. import com.lowagie.text.pdf.PdfPTable;
  20. import com.lowagie.text.pdf.PdfWriter;
  21.  
  22. public class MySelf {
  23.  
  24. /**
  25. * @param args
  26. * @throws IOException
  27. * @throws DocumentException
  28. */
  29. public static void main(String[] args) throws DocumentException, IOException {
  30. // TODO Auto-generated method stub
  31. float head= (float)50.0;
  32. float lineHeight1 = (float)50.0;
  33. float lineHeight2 = (float)50.0;
  34. float lineHeight3 = (float)51.0;
  35. //创建文档,设置页面大小, 左、右、上和下页边距。
  36. Document document = new Document(PageSize.A4, 10, 10, 50, 50);
  37. //处理中文显示问题,使用计算机自带字体
  38. BaseFont bfChinese=BaseFont.createFont("c://windows//fonts//simkai.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
  39. //方法二:使用iTextAsian.jar中的字体
  40. //BaseFont baseFont = BaseFont.createFont("STSong-Light",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
  41.  
  42. //方法三:使用资源字体(ClassPath)
  43. ////BaseFont baseFont = BaseFont.createFont("/SIMYOU.TTF",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
  44.  
  45. Font headfont=new Font(bfChinese,10,Font.BOLD);//设置字体大小 样式
  46. Font keyfont=new Font(bfChinese,12,Font.BOLD);//文字加粗
  47. Font title=new Font(bfChinese,18,Font.BOLD);//文字加粗
  48. Font textfont=new Font(bfChinese,16,Font.NORMAL);//正常文字
  49.  
  50. //document是创建的文档,FileOutputStream是向文档中输入
  51. PdfWriter.getInstance(document, new FileOutputStream(new File("D:\\MySelf.pdf")));
  52. //打开文档
  53. document.open();
  54. //开始生成一个2列的表格
  55. PdfPTable table=new PdfPTable(2);
  56. PdfPTable table1=new PdfPTable(6);
  57. //定义每个单元格的宽度
  58. float[] widthsHeader={20f,5f};
  59. float[] widthsHeade1={3f,3f,3f,4f,3f,6f};
  60. //设置表格每一各的宽度
  61. table.setWidths(widthsHeader);
  62. table1.setWidths(widthsHeade1);
  63. //设置边距
  64. //设置单元格间距
  65. //table.setSpacing(1f);
  66. //设置表格的总体宽度
  67. table.setWidthPercentage(100);
  68.  
  69. //如果表格格式一样采用遍历的方式读取添加
  70. /*List list=new ArrayList();
  71. list.add("姓名");
  72. list.add("姓名");
  73. list.add("姓名");
  74. list.add("姓名");
  75. list.add("姓名");
  76. list.add("姓名");
  77. list.add("姓名");
  78. for(int i=0;i<list.size();i++){
  79. Cell cell=null;
  80. cell=new Cell(new Paragraph((String) list.get(i),keyfont));
  81. //设置单元格背景颜色
  82. cell.setBackgroundColor(Color.lightGray);
  83. //设置水平居中
  84. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  85. //设置垂直居中
  86. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  87. table.addCell(cell);
  88.  
  89. }
  90. document.add(table);
  91. document.close();
  92. System.out.println("表格创建成功");
  93. return;*/
  94.  
  95. //单元格对象
  96. PdfPCell cell=null;
  97. //设置单元格内容
  98. cell=new PdfPCell(new Paragraph("文档标题栏",title));
  99. //合并单元格列
  100. cell.setColspan(2);
  101. //设置垂直居中
  102. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  103. //设置水平居中
  104. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  105. cell.setFixedHeight(head);
  106. //将单元格内容添加到表格中去
  107. table.addCell(cell);
  108.  
  109. cell=new PdfPCell(new Paragraph("A",keyfont));
  110. //设置单元格背景颜色
  111. cell.setBackgroundColor(Color.lightGray);
  112. //设置水平居中
  113. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  114. //设置垂直居中
  115. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  116. cell.setFixedHeight(lineHeight1);
  117. table1.addCell(cell);
  118.  
  119. cell=new PdfPCell(new Paragraph("B",keyfont));
  120. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  121. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  122. cell.setFixedHeight(lineHeight1);
  123. table1.addCell(cell);
  124. cell=new PdfPCell(new Paragraph("C",keyfont));
  125. cell.setBackgroundColor(Color.lightGray);
  126. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  127. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  128. cell.setFixedHeight(lineHeight1);
  129. table1.addCell(cell);
  130. cell=new PdfPCell(new Paragraph("D",keyfont));
  131. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  132. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  133. cell.setFixedHeight(lineHeight1);
  134. table1.addCell(cell);
  135. cell=new PdfPCell(new Paragraph("E",keyfont));
  136. cell.setBackgroundColor(Color.lightGray);
  137. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  138. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  139. cell.setFixedHeight(lineHeight1);
  140. table1.addCell(cell);
  141. cell=new PdfPCell(new Paragraph("F",keyfont));
  142. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  143. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  144. cell.setFixedHeight(lineHeight1);
  145. table1.addCell(cell);
  146.  
  147. cell=new PdfPCell(new Paragraph("G",keyfont));
  148. cell.setBackgroundColor(Color.lightGray);
  149. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  150. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  151. cell.setFixedHeight(lineHeight2);
  152. table1.addCell(cell);
  153. cell=new PdfPCell(new Paragraph("H",keyfont));
  154. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  155. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  156. cell.setFixedHeight(lineHeight2);
  157. table1.addCell(cell);
  158. cell=new PdfPCell(new Paragraph("I",keyfont));
  159. cell.setBackgroundColor(Color.lightGray);
  160. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  161. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  162. cell.setFixedHeight(lineHeight2);
  163. table1.addCell(cell);
  164. cell=new PdfPCell(new Paragraph("J",keyfont));
  165. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  166. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  167. cell.setFixedHeight(lineHeight2);
  168. table1.addCell(cell);
  169. cell=new PdfPCell(new Paragraph("K",keyfont));
  170. cell.setBackgroundColor(Color.lightGray);
  171. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  172. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  173. cell.setFixedHeight(lineHeight2);
  174. table1.addCell(cell);
  175. cell=new PdfPCell(new Paragraph("L",keyfont));
  176. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  177. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  178. cell.setFixedHeight(lineHeight2);
  179. table1.addCell(cell);
  180.  
  181. cell=new PdfPCell(new Paragraph("M",keyfont));
  182. cell.setBackgroundColor(Color.lightGray);
  183. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  184. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  185. cell.setFixedHeight(lineHeight3);
  186. table1.addCell(cell);
  187. cell=new PdfPCell(new Paragraph("N",keyfont));
  188. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  189. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  190. cell.setFixedHeight(lineHeight3);
  191. table1.addCell(cell);
  192. cell=new PdfPCell(new Paragraph("O",keyfont));
  193. cell.setBackgroundColor(Color.lightGray);
  194. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  195. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  196. cell.setFixedHeight(lineHeight3);
  197. table1.addCell(cell);
  198. cell=new PdfPCell(new Paragraph("P",keyfont));
  199. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  200. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  201. cell.setFixedHeight(lineHeight3);
  202. table1.addCell(cell);
  203. cell=new PdfPCell(new Paragraph("Q",keyfont));
  204. cell.setBackgroundColor(Color.lightGray);
  205. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  206. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  207. cell.setFixedHeight(lineHeight3);
  208. table1.addCell(cell);
  209. cell=new PdfPCell(new Paragraph("R",keyfont));
  210. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  211. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  212. cell.setFixedHeight(lineHeight3);
  213. table1.addCell(cell);
  214.  
  215. PdfPCell pdfpcell=new PdfPCell(table1);
  216. pdfpcell.setPadding(0);
  217. table.addCell(pdfpcell);
  218. //加载图片添加到指定位置
  219. Image image = Image.getInstance ("C:/Users/admin/Desktop/日志文件/IMG_0696.JPG");
  220. float height=image.height();
  221. float width=image.width();
  222. System.out.println(height);
  223. System.out.println(width);
  224.  
  225. cell=new PdfPCell(image);
  226. cell.setHorizontalAlignment(Element.ALIGN_CENTER);
  227. cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
  228. cell.setFixedHeight(lineHeight1+lineHeight2+lineHeight3);
  229. table.addCell(cell);
  230.  
  231. document.add(table);
  232. document.close();
  233.  
  234. }
  235.  
  236. }

生成PDF代码

JAVA生成PDF文件的更多相关文章

  1. Java生成PDF文件(转)

    原文地址:https://www.cnblogs.com/shuilangyizu/p/5760928.html 一.前言 前几天,做ASN条码收货模块,需要实现打印下载收货报表,经一番查找,选定iT ...

  2. [itext]Java生成PDF文件

    一.前言 最近在做也导出试卷的功能,刚开始是导出为doc,可是导出来格式都有变化,最后说直接将word转为pdf,可是各种不稳定,各种报错.最后想到直接将文件写入pdf(参考:http://www.c ...

  3. java生成PDF文件(itext)

    itextpdf-5.4.3.jar下载地址: http://www.kuaipan.cn/file/id_58980483773788178.htm 导入itextpdf-5.4.3.jar ToP ...

  4. java生成pdf文件 --- Table

    Java利用itext实现导出PDF文件 所需要的jar包:com.lowagie.text_2.1.7.v201004222200.jar jar包下载地址:http://cn.jarfire.or ...

  5. 【文件】java生成PDF文件

    package test; import java.awt.Color; import java.io.FileOutputStream; import org.junit.Test; import ...

  6. java调用wkhtmltopdf生成pdf文件,美观,省事

    最近项目需要导出企业风险报告,文件格式为pdf,于是搜了一大批文章都是什么Jasper Report,iText ,flying sauser ,都尝试了一遍,感觉不是我想要的效果, 需要自己调整好多 ...

  7. Java 生成pdf表格文档

    最近在工作做一个泰国的项目,应供应商要求,需要将每天的交易生成pdf格式的报表上传到供应商的服务器,特此记录实现方法.废话不多说,直接上代码: THSarabunNew.ttf该文件是泰国字体自行网上 ...

  8. Java 动态生成 PDF 文件

    每片文章前来首小诗:   今日夕阳伴薄雾,印着雪墙笑开颜.我心仿佛出窗前,浮在半腰望西天.  --泥沙砖瓦浆木匠 需求: 项目里面有需要java动态生成 PDF 文件,提供下载.今天我找了下有关了,系 ...

  9. Java Itext 生成PDF文件

    利用Java Itext生成PDF文件并导出,实现效果如下: PDFUtil.java package com.jeeplus.modules.order.util; import java.io.O ...

随机推荐

  1. iphone6S“玫瑰金”的秘密——阳极氧化

    阳极氧化对多数人来说是一个熟悉又陌生的名词,大多数可能知道它的作用之一就是是能使金属呈现各种各样色彩.最为人熟知的运用阳极氧化技术的产品就是iphone系列产品了,已经推出了金色,玫瑰金色,深空灰色, ...

  2. Altium designer中级篇-名称决定多边形连接样式

    在工作中积累了诸多小技巧,可以让工作变的更简单,就比如这个多边形铺铜,与大部分规则的不同之处在于,通过更改多边形的名称,就能达到控制多边形规则的效果.这样多边形铺铜变的及其灵活,下面将对这个经验做一个 ...

  3. SRM589

    250: 给一个串S,可以做这样的操作,可以将串中的一种字母变成另一种字母,代价是该种字母的数量.求解的问题是,最小的代价将串S变成回文串. 根据回文关系,我们可以形成等价对应关系,a与b等价对应说明 ...

  4. RedMine项目管理系统安装问题(Windows版一键安装包)

    安装准备: 操作环境:VMware10 下安装的windows10 系统 使用软件:<bitnami-redmine---windows-installer.exe> 问题描述: 安装过程 ...

  5. eclipse如何导入PHP的项目

    http://zhidao.baidu.com/link?url=2jvsgawRlEWzE63-Wm-e51_Nl0dWH1Z4z5VS_s2E824y2fYqsvNzdZ8GfEh6DOVtjY8 ...

  6. 我的JAVA基础学习史1

    又开始学习了..很是兴奋呢~~~~ 本来是想学安卓的,但是安卓的视频课程中,第一阶段是环境,第二阶段是JAVA基础(讲课的这个老师真是在念课本,但是实在没有办法,没找到更好.更完整的资料了). 虽然以 ...

  7. github上如何合并别人的pull request

    https://github.com/Epix37/Hearthstone-Deck-Tracker/issues/1391 I fetch the code from your repository ...

  8. Spring个人总结

    编写Spring第一个程序 Spring是一种开源框架,通过使用它可以大大降低企业应用程序的复杂性.Spring是一种非常完善的框架,几乎涉及WEB开发中的每一层,但是在开发中通常使用Spring开发 ...

  9. Hibernate数据库持久层框架

    Hibernate是一种Java语言下的对象关系映射解决方案. 它是使用GNU宽通用公共许可证发行的自由.开源的软件.它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架.Hib ...

  10. 三个流行MySQL分支的对比

    MySQL是历史上最受欢迎的免费开源程序之一.它是成千上万个网站的数据库骨干,并且可以将它(和Linux)作为过去10年里Internet呈指数级增长的一个有力证明. 那么,如果MySQL真的这么重要 ...