关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » .NET »iText操作PDF文件的方法及代码

    iText操作PDF文件的方法及代码

    2015-01-27 00:00:00 出处:mini188
    分享

    iText简介

    iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 iText的安装非常方便,下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,在程序中就可以使用iText类库了。

    iText使用方法

    iTextAsian.jar (亚洲语言包,可以使用中文) 需要添加到工程中 使用时需要在系统的环境变量Path中加入iText的路劲,在程序中就可以使用了 用iText生成PDF文档需要5个步骤:

    1)建立com.lowagie.text.Doucment对象的实例 Document document = new Document();

    2)建立一个书写器(Writer)与document对象关联,通过书写器(Writer)可以将文档写入磁盘中PDFWriter.getInstance(document,new FileOutputStream(“要存放的文件路径名”));

    3)打开文档document.open();

    4)向文档中添加内容

    所有向文档添加的内容都是以对象为单位 如:Phrase(短语)、Paragraph(段落)、Chunk(文本块)、Table、Graphic

    比较常用的为Paragraph对象,用于向文档中添加一段文字。Chunk(文本块)是处理文本的最小单位,由一串带格式(包括字体、颜色、大小) 的字符串组成。 Phrase(短语)由一个或多个Chunk(文本块)组成,Phrase(短语)也可以设定字体, 但对于其中以设定过字体的Chunk(文本块)无效。通过Phrase(短语)成员函数 Add可以将一个Chunk(文本块)加入到Phrase(短语)中。

    如:phrase.add(chunk); Paragraph(段落)由一个或多个Chunk(文本块)或Phrase(短语)组成,相当于Word文档中的段落概念,同样可以设定段落的字体大小、颜色等属性。

    另外也可以设定段落的首行缩进、对齐方式(左对齐、右对齐、居中对齐)。通过函数SetAlignment()可以设定段落的对齐方式

    如:Paragraph.setAlignment(int age); 参数有1(居中对齐)、2(右对齐)、3(左对齐);不设置默认左对齐。

    Chunk chunk1 = new Chunk(“ceshi1″);

    Chunk chunk2 = new Chunk(“ceshi2″);

    Phrase phrase = new Phrase();

    Phrase.add(chunk1);

    Phrase.add(chunk2);

    Paragraph paragraph1 = new Paragraph(“ceshizhi”);

    第一种,直接传值进去

    Paragraph paragraph2 = new Paragraph (chunk2);

    paragraph2.setAlignment(1); 居中对齐

    第二种,传一个文本块对象进去

    Paragraph paragraph2 = new Paragraph (phrase);

    第三种,传一个短语对象进去

    Document.add(paragraph1);

    Document.add(paragraph2);

    Document.add(paragraph3); 把段落写入文档中

    5) 关闭文档

    Document.close();

    其他: 换页 Document.newPage();

    中文处理 当有中文的时候使用上面的方法则中文不会被写入,

    因此需要用到:

    BaseFont bfChinese = BaseFont.createFont(“STSong-Light”,”UniGB-UCS2-H”, BaseFont.NOT_EMBEDDED);

    Font fontChinese = new Font(bfChinese, 12, Font.NORMAL,Color.GREEN);

    之后呢打开文档写入的时候,就应该按照下面的写法:

    Paragraph paragraph1 = new Paragraph(“测试”, fontChinese);

    同上面一样”测试”可以用文本块或短语替换;

    图片处理 iText中处理图像的类为com.lowagie.text.Image 目前iText支持的图像格式有:、GIF、JPG、PNG等格式 iText用同样的构造函数自动识别图像格式: //参数为gif、jpg、png格式的图片都可以

    Image image = Image.getInstance(“参数”); //定义一个图片信息,可以是绝对路径,也可以是

    URL Image img = Image.getInstance(“D:\4.jpg”);

    img = Image.getInstance(new URL(http://xxx.com/logo.jpg)); //添加到document中 document.add(img);

    图像的位置 图像的位置主要是指图像在文档中的对齐方式、图像和文本的位置关系。

    IText中通过函数public void setAlignment(int alignment)进行处理, 参数alignment为Image.RIGHT、Image.MIDDLE、Image.LEFT分别指右对齐、居中、左对齐;

    当参数alignment为Image.TEXTWRAP、Image.UNDERLYING分别 指文字绕图形显示、图形作为文字的背景显示。

    这两种参数可以结合以达到预期的效果, 如

    setAlignment(Image.RIGHT|Image.TEXTWRAP) 显示的效果为图像右对齐,文字围绕图像显示。 图像的尺寸和旋转 //设置图像的宽和高

    image.scaleAbsolute(int newWidth, int newHeight); //设置图像比例,表示显示的大小为原始大小的多少比例

    image.scalePercent(int percent); //设置图像的高宽比例

    image.scalePercent(int percentX,int percentY); //设置图像旋转一定的角度;

    参数arg为弧度,而不是角度 image.setRotation(float arg);

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    Destoon 模板存放规则及语法参考

    Destoon系统常量与变量

    Destoon系统目录文件结构说明

    Destoon 系统安装指南

    Destoon会员公司主页模板风格添加方法

    Destoon 二次开发入门

    Microsoft 将于 2026 年 10 月终止对 Windows 11 SE 的支持

    Windows 11 存储感知如何设置?了解Windows 11 存储感知开启的好处

    Windows 11 24H2 更新灾难:系统升级了,SSD固态盘不见了...

    小米路由器买哪款?Miwifi热门路由器型号对比分析

    IT头条

    Synology 对 Office 套件进行重大 AI 更新,增强私有云的生产力和安全性

    01:43

    StorONE 的高效平台将 Storage Guardian 数据中心占用空间减少 80%

    11:03

    年赚千亿的印度能源巨头Nayara 云服务瘫痪,被微软卡了一下脖子

    12:54

    国产6nm GPU新突破!砺算科技官宣:自研TrueGPU架构7月26日发布

    01:57

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    技术热点

    如何删除自带的不常用应用为windows 7减负

    MySQL中多表删除方法

    改进的二值图像像素标记算法及程序实现

    windows 7 32位系统下手动修改磁盘属性例如M盘修改为F盘

    windows 7中怎么样在家庭组互传文件

    Linux应用集成MySQL数据库访问技巧

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。