iText制作PDF文件 学习笔记 (七)
2017-10-12 15:17
357 查看
iText制作PDF文件
(七)图像和文本的绝对位置:
之前我们添加文本、图片、段落、列表、表格等,均未涉及到布局问题,有时候我们不需要使用到这种自动的布局方式,有时候我们需要放置到特定的位置当中,这时候我们需要使用到PdfContentByte类。
package com.java.pdf.seventh; import java.io.FileOutputStream; import com.itextpdf.text.Document; import com.itextpdf.text.pdf.PdfContentByte; import com.itextpdf.text.pdf.PdfWriter; /** * 创建日期:2017-10-12上午9:22:48 * 修改日期: * 作者:ttan * 描述:图像和文本的绝对位置 */ public class Pdf_content { public static void main(String[] args) { Document document = new Document(); try { //获得PdfWriter对象 PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("content.pdf")); //document.open()的操作应当在PdfContentByte对象操作之前执行 document.open(); //获得PdfContentByte对象 --关键 PdfContentByte pcb = writer.getDirectContent(); //pcbun的图像将在pbc的图像之下 PdfContentByte pcbun = writer.getDirectContentUnder(); pcb.setLineWidth(10f); pcb.moveTo(200, 200); pcb.lineTo(100, 700); pcbun.setLineWidth(20f); pcb.moveTo(400, 400); pcb.lineTo(100, 700); pcb.stroke();//若要改变线宽或者颜色的话,在调用stroke()方法之前,否则无效 pcbun.stroke(); } catch (Exception e) { e.printStackTrace(); }finally{ document.close(); } } }
生成文本:
package com.java.pdf.seventh; import java.io.FileOutputStream; import com.itextpdf.text.Document; import com.itextpdf.text.pdf.BaseFont; import com.itextpdf.text.pdf.PdfContentByte; import com.itextpdf.text.pdf.PdfWriter; /** * 创建日期:2017-10-12下午1:43:10 * 修改日期: * 作者:ttan * 描述:文本 */ public class Pdf_contentText { public static void main(String[] args) { Document document = new Document(); try { //获得PdfWriter对象 PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("contentText.pdf")); //document.open()的操作应当在PdfContentByte对象操作之前执行 document.open(); //获得PdfContentByte对象 --关键 PdfContentByte pcb = writer.getDirectContent(); //开始 pcb.beginText(); //创建字体 BaseFont bf = BaseFont.createFont("E:\\fzktjw.ttf", "Identity-H", true); //设置字体和大小 pcb.setFontAndSize(bf, 24); //pcb.showTextAligned(alignment, text, x, y, rotation) //输入文字并写入坐标,将文本置于自己所需要放置的位置 pcb.showTextAligned(PdfContentByte.ALIGN_CENTER, "PDF学习之PdfContentByte的使用。", 300, 500, 0); //结束 pcb.endText(); }catch(Exception e){ e.getStackTrace(); }finally{ document.close(); } } }
总结:在很多时候,我们通过JAVA生成PDF有特定的需要,比如生成报表,可能需要放置多种对象,这时候我们需要用到PdfContentByte类去进行编辑。
相关文章推荐
- iText制作PDF文件 学习笔记 (三)
- iText制作PDF文件 学习笔记 (五)
- iText制作PDF文件 学习笔记 (二)
- iText制作PDF文件 学习笔记 (一)
- iText制作PDF文件 学习笔记 (四)
- iText制作PDF文件 学习笔记 (六)
- iText操作PDF之学习笔记
- c#程序为PDF文件填写表单内容 ---------------------学习笔记
- caffe学习笔记-数据库制作及计算均值文件命令格式(windows版)
- 生成PDF文件-使用iText制作复杂表格
- exe文件,后门免杀的制作学习笔记
- Jfreechart学习笔记7-JFreeChart生成PDF文件
- linux嵌入式根文件系统制作学习笔记
- JDK1.8版本的dubbo-admin的war文件制作 (学习笔记)
- iOS学习笔记14—PDF的文件的创建、显示和解析
- 移植内核学习笔记2-----修改分区及制作根文件系统
- JasperReport学习笔记3-在浏览器生成PDF文件
- java使用itext,制作pdf文件
- PDF笔记(三):Itext学习
- 从零开始学习使用iText PDF(1):生成第一个PDF文件