【itext学习之路】--1.创建一个简单的pdf文档

来源:https://blog.csdn.net/tomatocc/article/details/80666011

iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件

本教程中,首先要说明的是,itext技术在网上很少能有一个相对全面文档资料来供我们学习和参考,但是该库对pdf的操作来说是相当的强大,强大的就好比你可以拿出一支笔,在一张白纸上任意的去操作。下面我会写出一些列的itext相关的方法以及一些参数释义用来供各位参考,由于itext在网络上的介绍非常有限,并且很多都是只告你是怎么实现,却没办法让人知道其中原理,因此本人在学习itext的时候花费了大量的时间和精力。因此希望因本文收益的朋友可以相互交流和学习。

第一部分:创建一个简单的pdf文档

  1. 准备工作:itext的jar包,这里我们可以从maven库中进行下载(我这里用的是5.5.11版本),或者可以下载我上传的jar包:点击下载

2.将下载好的jar包放入到我们的项目的lib文件夹下,然后我们创建一个java类;下面是我们代码

package cn.tomtocc.pdf;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;public class pdfTest {public static void main(String[] args) throws FileNotFoundException,DocumentException {//第一步:创建一个文档实例 设置文档纸张为A4,文档排列方式为横向排列//实现A4纸页面 并且纵向排列(不设置则为横向Document document = new Document(PageSize.A4.rotate());// 第二步:创建PdfWriter对象,设置pdf生成路径PdfWriter pdfWriter = PdfWriter.getInstance(document,new FileOutputStream("d:/demo.pdf"));// 第三步:打开文档进行我们需要的操作document.open();// 第四步:创建第一页(如果只有一页的话,这一步可以省略)document.newPage();// 第五步:在文档中添加内容document.add(new Paragraph("my first pdf demo"));// 关闭文档document.close();// 关闭书写流pdfWriter.close();}
}

到这里为止,一个非常简单的用itext来生成一个pdf的demo就完成了,我们打开刚才的文档看看效果。

 本篇就到这里,接下来我们将学习对pdf属性的一些设置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496225.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis linux服务,linux服务之redis

rediswget http://download.redis.io/releases/redis-4.0.6.tar.gzcd redis-4.0.6makecd src/./redis-server./redis-cli先启动server,再用cli去连接,开两个终端窗口[rootlocalhost src]# ./redis-cliCould not connect to Redis at 127.0.0.1:6379: Con…

并发服务器设计思路,参考apache学习UDP和QoS,研究成果

研究了快1个月的服务器架构,把研究成果记录一下。参考的有:Apache vlc ACE ftp我主要需要其中的并发处理,内存管理,TCP/UDP.QoS,速度限制等方面的内容,所以着重说这几方面。首先看一下Apache的基本框图&…

一文看懂NB-IoT!

来源:物联江湖(iot521) 作者:王一鸣一直以来,人们通过相应的终端(电脑、手机、平板等)使用网络服务,“个人”一直是网络的用户主体。个人对网络质量的要求“高”且“统一”:玩网络游戏必需要低…

安装、配置 Java JDK 和 JRE,并卸载自带 OpenJDK

JRE 和 JDK 的区别是什么?:https://www.zhihu.com/question/20317448 如何配置 Java 环境变量:https://jingyan.baidu.com/article/fd8044fa2c22f15031137a2a.html Windows 10 配置Java 环境变量:https://www.runoob.com/w3cnote…

软件测试面试题linux,linux基础面试题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼linux的用户管理useradd 用户名,添加用户【案例】useradd xiaomingpasswd 用户名,为新用户设密码【案例】passwd xiaoming,修改小明的密码userdel 用户名,删除用户【案例】userdel xi…

将十进制数转为N进制的方法

设有一个数 A,比如 A15 ,转为四进制数应当表示为33.原理如下:1.A除N,2.A模N.3.保存A模N的值。4.循环1&#xff0c;2。直到 A除N的值等于0;Codeclass NumerationConverter { /// <summary> /// 将十进制度数转为四进制 /// </summary> …

人工智能即将冲击与改变现有的医疗方式

来源呢&#xff1a;千家网从1960年代初&#xff0c;学术界陆续展开对于人工智能的研究&#xff0c;一直到目前的机器学习、深度学习等观念&#xff0c;所带来的第三波人工智能浪潮。对于医疗领域来说&#xff0c;在1970年代初期&#xff0c;人工智能就已经被应用在各项检查&…

【itext学习之路】--2.设置pdf的一些常用属性

来源&#xff1a;https://blog.csdn.net/tomatocc/article/details/80666361 在上一篇文章中&#xff0c;我们已经成功的创建了一个简单的pdf&#xff0c;下面我将学习设置该pdf的常用属性&#xff0c;其中包括&#xff1a;作者&#xff0c;创建时间&#xff0c;pdf创建者&…

简单好用的 Linux/Windows 面板

简单好用的 Linux/Windows 面板宝塔官网&#xff1a;https://www.bt.cn 宝塔Linux面板新手安装教程&#xff1a;https://www.cnblogs.com/paul8339/p/7065799.html https://blog.csdn.net/letterss/article/details/80216091 宝塔面板手册截图&#xff08;地址&#xff1a;http…

linux 串口读取陀螺仪,stm32读取陀螺仪MPU6050发送数据到串口

【实例简介】IAR环境下&#xff0c;stm32读取MPU6050数据&#xff0c;发送到串口。【实例截图】【核心代码】6b42b05e-a094-444f-b033-eda513b6cc49└── tly01├── Debug│ ├── Exe│ │ └── test.out│ └── Obj│ ├── analog_i2c.o│ ├── core…

任正非:中美领跑AI说法不合适、5G被炒作过热……

来源&#xff1a;羊城晚报 作者&#xff1a;宋毅摘要&#xff1a;2017年&#xff0c;华为又交出漂亮答卷&#xff1a;实现全球销售收入6036亿元&#xff0c;同比增长15.7%。4日&#xff0c;任正非接受了羊城晚报等5家媒体的采访&#xff0c;谈到了华为每年15%的研发投入&#…

ASP.NET (C#开发环境)Request对象 之 ServerVariables集合

Request.ServerVariables["HTTP_USER_AGENT"] <--> 返回浏览器类型和版本号 Request.ServerVariables["REMOTE_ADDR"] <--> 获取用户的IP地址 Request.ServerVariables["REQUEST_METHOD"] <--> 获取请求的方法 Request.Server…

【itext学习之路】--3.对pdf文档进行加密和权限设置

来源&#xff1a;https://blog.csdn.net/tomatocc/article/details/80667838 上篇文章&#xff0c;我们学习了pdf的属性设置&#xff0c;但是我们知道&#xff0c;在实际开发中&#xff0c;如果pdf文档被黑客盗取的话&#xff0c;那么pdf中的信息就会被泄露&#xff0c;因此本…

scrapy 模拟登陆

python 模拟登录豆瓣 并 发表动态&#xff1a;https://blog.csdn.net/freeking101/article/details/65445551 python网络爬虫之使用scrapy自动登录网站&#xff1a;https://www.cnblogs.com/zhanghongfeng/p/7684415.html Scrapy笔记&#xff08;11&#xff09;- 模拟登录&am…

李国杰院士等:未来移动通信系统中的通信与计算融合

来源 5G 作者&#xff1a;周一青 李国杰周一青&#xff1a;中国科学院大学教授&#xff0c;中国科学院计算技术研究所“百人计划”研究员、博导&#xff0c;无线通信技术研究中心副主任&#xff0c;移动计算与新型终端北京市重点实验室研究员。李国杰&#xff1a;中国工程院院…

ubuntu镜像源列表

Archive.ubuntu.com更新服务器&#xff08;欧洲&#xff0c;此为官方源&#xff0c;电信网通用户使用)&#xff1a; deb http://archive.ubuntu.com/ubuntu/ gutsy main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ gutsy-security main restricted…

linux查看link 路径,link_path_walk()路径名查找

link_path_walk()路径名查找link_path_walk()函数。它接收的参数为要解析的路径名指针name和拥有目录项信息和安装文件系统信息的nameidata数据结构的地址nd&#xff0c;此时nd的path字段存放的是查找的路径名的基目录的路径。其定义如下&#xff1a;-------------------------…

【itext学习之路】--4.给pdf增加文本水印和图片水印

来源&#xff1a;【itext学习之路】-------&#xff08;第四篇&#xff09;给pdf增加文本水印和图片水印_tomatocc的博客-CSDN博客_itext添加水印 一般而言&#xff0c;许多公司在做pdf之后&#xff0c;都会将公司的logo或者网址以水印的方式添加到pdf文件中。本篇文章&#x…

Postman 使用方法详解

From&#xff1a;https://blog.csdn.net/fxbin123/article/details/80428216 Postman使用详解&#xff1a;https://www.cnblogs.com/xiaoxi-3-/p/7839278.html Postman用法简介&#xff1a;https://blog.csdn.net/flowerspring/article/details/52774399 Postman 详解&#xff…

该系列主要整理收集在使用C#开发WinForm应用文章及相关代码来源于WinForms小组...

该系列主要整理收集在使用C#开发WinForm应用文章及相关代码, 平时看到大家主要使用C#来开发Asp.Net应用,这方面的文章也特别多,而关于WinForm的文章相对少很多,而自己对WinForm一直比较感兴趣,这几年积累收藏了不少文章,现在整理一下分类推荐给大家,避免大家浪费大把的时间去找…