一个PDF文档从大到小可以分成如下几个要素:文档、章节、小节、段落、表格、列表、

com.lowagie.text.Document表示PDF文档。必须为它创建一个PDF写入器,即com.lowagie.text.pdf.PdfWriter对象,写入器的作用是将Document对象与目标文件关联起来。调用

Document 的open方法便打开了与目标文件的连接;Document的add 方法用于为文档添加章节  。

2 com.lowagie.text.Chapter表示PDF文档中的章节。它的setTitle方法用于设置章节的标题;setNumberDepth方法用于设置小节的编号级别;add方法为小节添加内容,可以是段落、

表格列表、

3 com.lowagie.text.Paragraph表示PDF文档的段落。可以指定段落的对齐方式,字体等属性、

4  com.lowagie.text.Table表示PDF文档的表格。通过它的一系列set方法可以设置表格的样式,比如边框大小、颜色等;addCell方法用于为表格添加单元格,单元格是com.lowagie.text.Cell对象

5 com.lowagie.text.List表示PDF文档中的列表。com.lowagie.text.Listltem表示列表中的项,通过List的add 方法添加到列表中;

使用pdfbox类库读PDF文档的关键技术:

1 org.PDFBox.pdfparser.PDFParser 用于解析PDF文档。它的parse方法用于对PDF文件的输入流进行解析;getPDDocument方法用于获得解析后的PDF文档对象,是一个org.pdfbox.pdmodel.PDDocument对象。

2 org.pdfbox.util.PDF.TextStripper是分析PDF文档对象中广西的工具类,它的getText方法能够提取PDF文档对象中包含的文本。

操作PDF文件的关键技术点的更多相关文章

  1. vue项目中操作PDF文件

    以前从来没接触过前端要求显示PDF文件,一时之间有点懵逼,不知从哪下手啊... 无奈之下,去找度娘,方法还不少,iframe  embed  object这些标签就可以, 可是拿过来做个demo一试, ...

  2. .net通过iTextSharp.pdf操作pdf文件实现查找关键字签字盖章

    之前这个事情都CA公司去做的,现在给客户做demo,要模拟一下签字盖章了,我们的业务PDF文件是动态生成的所以没法通过坐标定位,只能通过关键字查找定位了. 之前在网上看了许多通多通过查询关键字,然后图 ...

  3. Itext简绍及操作PDF文件

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

  4. c#操作pdf文件系列之创建文件

    1.我使用的工具是vs2013,引用的第三方程序集itextpdf 具体安装方法,可以通过nuget搜索iTextSharp然后进行安装. 2具体代码如下 创建两个不同pdf文件,每个地方什么意思代码 ...

  5. Qt 操作 pdf 文件

    写了好久的东西,不小心按了下返回键就没了.CSDN居然没自动保存,坑爹啊 原本还有很多信息的,现在直入正题吧. QT没有内置PDF操作的功能(其实有一个,QPrinter,不过只能写不能读,基本是半残 ...

  6. fpdf fpdi 操作pdf文件 写入中文汉字

      今天给公司做一个线上合同签约功能,用户签约后 生成pdf版的文件 .网上搜了搜大概都是用fpdf进行操作的  , 通过fpdi 可以进行读取pdf模板. 在通过继承fpdf 操作现有的pdf文档 ...

  7. itext操作PDF文件添加水印

    功能描述:添加图片和文字水印 /** * * [功能描述:添加图片和文字水印] [功能详细描述:功能详细描述] * @param srcFile 待加水印文件 * @param destFile 加水 ...

  8. 分享一个操作pdf文件的js文件-pdfObject.js(文件预览、下载、打印等操作都具备)

    获取相关资料或者源码的朋友可以关注下公众号,回复关键字pdf20200518即可

  9. 强大的pdf文件操作小工具——PDFtk的小白用法 【转载】

    转载出处https://www.cnblogs.com/basterdaidai/p/6204518.html 前言 作为程序员,大家都知道的,总是会被技术小白问各种跟编程没什么关系的硬件.软件问题. ...

随机推荐

  1. 淘淘商城maven工程的创建和svn的上传实现

    后台管理系统工程结构 maven管理的好处 1.项目构建.Maven定义了软件开发的整套流程体系,并进行了封装,开发人员只需要指定项目的构建流程,无需针对每个流程编写自己的构建脚本. 2.依赖管理.除 ...

  2. Linux Canbus调试笔记

    STM32之CAN---错误管理分析      牛人博客 http://blog.csdn.net/flydream0/article/details/8161418 CAN总线在嵌入式Linux下驱 ...

  3. python学习笔记-(三)条件判断和循环

    1.条件判断语句 Python中条件选择语句的关键字为:if .elif .else这三个.其基本形式如下: age_of_cc = 27 age = int(input("guessage ...

  4. JavaScript的闭包原理

    什么是js(JavaScript)的闭包原理,有什么作用? 一.定义 官方解释:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. 个人的理解是 ...

  5. 《深入理解bootstrap》读书笔记:第三章 CSS布局

    一. 概述一下理念 bootstrap基于H5开发.提倡移动先行(媒询声明是必须的),对浏览器支持面不是很广. 响应式图片:max-width:100% height:auto; 可以加上:.img- ...

  6. debian vmwareTools安装总结

    1.安装GCC编译器和make:      因为安装VMwareTools需要编译和make所以要先安装它们.安装其实很简单,命令如下: apt-get install gcc make 其实你也可以 ...

  7. ecshop后台,listtable.js使用

    1.先载入listtable.js 2.html代码 a.  <a href="javascript:listTable.sort('goods_number'); "> ...

  8. xcode 不显示占用内存

    解决办法: Scheme设置中,将 Enable Zombie Objects 勾选去掉.

  9. CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL)

    CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL) 一.准备篇: /etc/init.d/iptables stop #关闭防火墙 关闭SELINUX vi /etc/sel ...

  10. ajax实例详解(2)

    说到ajax当然离不开json格式了.在ajax的数据传递过程中用到最多的便是json格式了吧. 什么是json格式,在刚开始用它的时候,着实让人迷茫了一阵子呀.说的白了点所谓json不就是一种数据的 ...