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

 import java.awt.Color;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;

 import com.lowagie.text.Cell;
 import com.lowagie.text.Document;
 import com.lowagie.text.DocumentException;
 import com.lowagie.text.Element;
 import com.lowagie.text.Font;
 import com.lowagie.text.Image;
 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.PdfPCell;
 import com.lowagie.text.pdf.PdfPTable;
 import com.lowagie.text.pdf.PdfWriter;

 public class MySelf {

     /**
      * @param args
      * @throws IOException
      * @throws DocumentException
      */
     public static void main(String[] args) throws DocumentException, IOException {
         // TODO Auto-generated method stub
         float head= (float)50.0;
         float lineHeight1 = (float)50.0;
         float lineHeight2 = (float)50.0;
         float lineHeight3 = (float)51.0;
         //创建文档,设置页面大小,      左、右、上和下页边距。
         Document document = new Document(PageSize.A4, 10, 10, 50, 50);
         //处理中文显示问题,使用计算机自带字体
         BaseFont bfChinese=BaseFont.createFont("c://windows//fonts//simkai.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
         //方法二:使用iTextAsian.jar中的字体
         //BaseFont baseFont = BaseFont.createFont("STSong-Light",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);

         //方法三:使用资源字体(ClassPath)
         ////BaseFont baseFont = BaseFont.createFont("/SIMYOU.TTF",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);    

         Font headfont=new Font(bfChinese,10,Font.BOLD);//设置字体大小  样式
         Font keyfont=new Font(bfChinese,12,Font.BOLD);//文字加粗
         Font title=new Font(bfChinese,18,Font.BOLD);//文字加粗
         Font textfont=new Font(bfChinese,16,Font.NORMAL);//正常文字

       //document是创建的文档,FileOutputStream是向文档中输入
         PdfWriter.getInstance(document, new FileOutputStream(new File("D:\\MySelf.pdf")));
         //打开文档
         document.open();
         //开始生成一个2列的表格
         PdfPTable table=new PdfPTable(2);
         PdfPTable table1=new PdfPTable(6);
        //定义每个单元格的宽度
         float[] widthsHeader={20f,5f};
         float[] widthsHeade1={3f,3f,3f,4f,3f,6f};
         //设置表格每一各的宽度
         table.setWidths(widthsHeader);
         table1.setWidths(widthsHeade1);
         //设置边距
         //设置单元格间距
         //table.setSpacing(1f);
         //设置表格的总体宽度
         table.setWidthPercentage(100);

         //如果表格格式一样采用遍历的方式读取添加
         /*List list=new ArrayList();
         list.add("姓名");
         list.add("姓名");
         list.add("姓名");
         list.add("姓名");
         list.add("姓名");
         list.add("姓名");
         list.add("姓名");
         for(int i=0;i<list.size();i++){
             Cell cell=null;
             cell=new Cell(new Paragraph((String) list.get(i),keyfont));
             //设置单元格背景颜色
             cell.setBackgroundColor(Color.lightGray);
             //设置水平居中
             cell.setHorizontalAlignment(Element.ALIGN_CENTER);
             //设置垂直居中
             cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
             table.addCell(cell);

         }
         document.add(table);
         document.close();
         System.out.println("表格创建成功");
         return;*/

       //单元格对象
         PdfPCell cell=null;
         //设置单元格内容
         cell=new PdfPCell(new Paragraph("文档标题栏",title));
         //合并单元格列
         cell.setColspan(2);
         //设置垂直居中
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         //设置水平居中
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setFixedHeight(head);
         //将单元格内容添加到表格中去
         table.addCell(cell);

         cell=new PdfPCell(new Paragraph("A",keyfont));
         //设置单元格背景颜色
         cell.setBackgroundColor(Color.lightGray);
         //设置水平居中
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         //设置垂直居中
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight1);
         table1.addCell(cell);

         cell=new PdfPCell(new Paragraph("B",keyfont));
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight1);
         table1.addCell(cell);
         cell=new PdfPCell(new Paragraph("C",keyfont));
         cell.setBackgroundColor(Color.lightGray);
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight1);
         table1.addCell(cell);
         cell=new PdfPCell(new Paragraph("D",keyfont));
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight1);
         table1.addCell(cell);
         cell=new PdfPCell(new Paragraph("E",keyfont));
         cell.setBackgroundColor(Color.lightGray);
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight1);
         table1.addCell(cell);
         cell=new PdfPCell(new Paragraph("F",keyfont));
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight1);
         table1.addCell(cell);             

         cell=new PdfPCell(new Paragraph("G",keyfont));
         cell.setBackgroundColor(Color.lightGray);
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight2);
         table1.addCell(cell);
         cell=new PdfPCell(new Paragraph("H",keyfont));
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight2);
         table1.addCell(cell);
         cell=new PdfPCell(new Paragraph("I",keyfont));
         cell.setBackgroundColor(Color.lightGray);
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight2);
         table1.addCell(cell);
         cell=new PdfPCell(new Paragraph("J",keyfont));
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight2);
         table1.addCell(cell);
         cell=new PdfPCell(new Paragraph("K",keyfont));
         cell.setBackgroundColor(Color.lightGray);
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight2);
         table1.addCell(cell);
         cell=new PdfPCell(new Paragraph("L",keyfont));
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight2);
         table1.addCell(cell);

         cell=new PdfPCell(new Paragraph("M",keyfont));
         cell.setBackgroundColor(Color.lightGray);
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight3);
         table1.addCell(cell);
         cell=new PdfPCell(new Paragraph("N",keyfont));
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight3);
         table1.addCell(cell);
         cell=new PdfPCell(new Paragraph("O",keyfont));
         cell.setBackgroundColor(Color.lightGray);
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight3);
         table1.addCell(cell);
         cell=new PdfPCell(new Paragraph("P",keyfont));
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight3);
         table1.addCell(cell);
         cell=new PdfPCell(new Paragraph("Q",keyfont));
         cell.setBackgroundColor(Color.lightGray);
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight3);
         table1.addCell(cell);
         cell=new PdfPCell(new Paragraph("R",keyfont));
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight3);
         table1.addCell(cell); 

         PdfPCell pdfpcell=new PdfPCell(table1);
         pdfpcell.setPadding(0);
         table.addCell(pdfpcell);
         //加载图片添加到指定位置
         Image image = Image.getInstance ("C:/Users/admin/Desktop/日志文件/IMG_0696.JPG");
         float height=image.height();
         float width=image.width();
         System.out.println(height);
         System.out.println(width);

         cell=new PdfPCell(image);
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setFixedHeight(lineHeight1+lineHeight2+lineHeight3);
         table.addCell(cell);

         document.add(table);
         document.close();

     }

 }

生成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. 在Cortex-M系列上如何准确地做us级延时?

    前几天刚好同事问起在Cortex-M上延时不准的问题,在网上也没找到比较满意的答案,干脆自己对这个问题做一个总结. 根据我们的经验,最容易想到的大概通过计算指令周期来解决.该思路在Cortex上并不是 ...

  2. html显示时间

    <html> <head> <script type="text/javascript"> function time() { var time ...

  3. 【spring】 &lt;tx:annotation-driven /&gt; 的理解 【转载的】

    在使用SpringMvc的时候,配置文件中我们经常看到 annotation-driven 这样的注解,其含义就是支持注解,一般根据前缀 tx.mvc 等也能很直白的理解出来分别的作用.<tx: ...

  4. android真机调试

    android开发可以使用google那个自带的模拟器来调试,不过那个模拟器启动实在太慢,太耗时了,不过,如果我们有android手机的话,我们可以直接在手机上调试,这样的话,速度就很快: 具体步骤如 ...

  5. 步步为营-81-HttpModule(再谈Session)

    说明:session用于记录数据信息并存放在服务器内存中,但是存在一些问题.例如当使用服务器集群是会出现session丢失等情况.虽然微软提供了一些解决方案(Session进程外存储,或者存到数据库中 ...

  6. Sublime text 3 格式化代码 插件

    JsFormat: 重新打开sublime就能使用js格式化插件 使用方法: 1.快捷键:ctrl+alt+f 2.或者先用快捷键打开命令面板 “ctrl + shift + p”, 再输入 “For ...

  7. LOJ#6387 「THUPC2018」绿绿与串串 / String (Manacher || hash+二分)

    题目描述 绿绿和 Yazid 是好朋友.他们在一起做串串游戏. 我们定义翻转的操作:把一个串以最后一个字符作对称轴进行翻转复制.形式化地描述就是,如果他翻转的串为 RRR,那么他会将前 ∣R∣−1个字 ...

  8. zifutongji

    第三次作业要求我们自己写程序,我算我们班写的比较晚的了,我听他们写的都是在文件中写一段代码,然后读出来.我们班大部分都是,所以,我就想可不可以跟他们不一样呢,写一个属于自己的思路. 所以我想到了数组. ...

  9. _pvp_killed_loot

    该表控制玩家被击杀时掉落物品,包括角色身上装备,背包物品,银行物品 comment 备注 entry 掉落的物品ID lootCount 掉落的物品数量 chance 掉落的几率,例如50,则50%几 ...

  10. java.lang.NoClassDefFoundError: com.baidu.mapapi.BMapManager

    解决方案:一.右击项目->properties->Java Build Path->Order and Export,在需要引用的包前面打勾.二.Project->Clean. ...