最近做了一个比较有意思的需求,实现的比较有意思。 需求: 用户上传一个 docx 文件,文档中有占位符若干,识别为文档模板。 用户在前端可以将标签拖拽到模板上,替代占位符。...前端如果直接使用富文本编辑器,目前开源没有比较满意的实现,同时自主开发富文本需要极高技术含量。所以不考虑富文本编辑器的可能。 技术调研和技术选型(Java 技术栈): 1....-2.0.0.jar itext-2.1.7.jar ooxml-schemas-1.3.jar 实际上写了一个 Demo 测试以后发现,这套组合以及年久失修,对于复杂的 docx 文档都不能友好支持,...这样保证了格式不会损失,但是没有现成的模板引擎可以支持 docx 的渲染。需要自己实现。 3. 水印 这个相对比较简单,直接使用 itextpdf 免费版就能解决问题。...目前我也没有找到规律,很有可能我们的占位符被划分到了多个run中,如果我们简单的针对 run 做正则表达的替换,而要先把所有的 runs 组合起来再进行正则替换。
通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。...STSongStd-Light 是字体,在jar 中以property为后缀 UniGB-UCS2-H 是编码,在jar 中以cmap为后缀 H 代表文字版式是横版,相应的 V 代表竖版 字体设置...=new Font(bfChinese,10,,Font.BOLD|Font.UNDERLINE); 三、添加文本的对象:块、短句和段落 Chunk:块(Chunk)是能被添加到文档的文本的最小单位...用户还可以指定缩排;在边和(或)右边保留一定空白,段落可以左对齐、右对齐和居中对齐。添加到文档中的每一个段落将自动另起一行。...所以我们可以在最后关闭文档前,使用PdfTemplate写入总页码。可以理解成先写个占位符,然后统一替换。
、tabula(可用于表格提取)、pdfplumber等组件,对于图片型的,我们可以先获取文件里面的图片,然后使用ppstructure进行图片处理。...,它还可以对pdf文档进行添加水印、加密解密等。...MuPDF 包括一个软件库、命令行工具和各种平台的查看器。MuPDF 中的渲染器专为高质量抗锯齿图形而设计。它通过度量和间距准确地呈现文本,以在屏幕上再现印刷页面的外观。...您还可以编写使用 JavaScript 操作文档的脚本。该库采用可移植的 C 模块化编写,因此集成商可以根据需要添加和删除功能。...OfficeToPDF[24] 这个文本是在描述一个命令行工具,可以将Microsoft Office文档转换为PDF格式。
前言 最近公司做一个需求,给用户上传的文件word和pdf文件进行添加水印,若是doc、docx文件先进行word转pdf然后加水印,如果是pdf文件直接进行加水印。...word转pdf以前服务已经实现了直接复用代码,pdf添加水印通过itextpdf可以直接使用,本文仅做备忘。 使用步骤 一、导入依赖 <!...jar包 BaseFont baseFont = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", true);...: 加水印后效果: 参考文章 java实现给PDF文件添加图片水印,java实现给PDF文件添加文字水印 java pdf添加文字水印(非常专业) 给pdf加水印的方法 Java项目使用itextpdf...给pdf文件添加水印
PDF是出版和图形领域的软件厂商Adobe制定的电子文档格式标准。PDF转Word就是把PDF文档中的文字,图片,表格,注释等等文档元素相对应的转换成Word文档中相对应的文档元素。...,因此你就能重复利用你的PDF文档内容,在Word中再编辑或者重整布局。...3.复杂表格和混合编排的PDF看完了纯文本和表格,我们来看下更复杂点的例子具体转换效果对比可以查看上一篇文章适用人群和场景:在线PDF转换Word需要在线使用,一般是对数据安全没有非常强的诉求,同时非高频的...iText的安装非常方便,下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,在程序中就可以使用iText类库了。...foxit的高性能库使用最流行的开发人员语言和环境,为所有平台的企业、移动和云应用程序添加了强大的PDF功能。?
操作PDF在很多业务场景都要用到,例如电子发票,电子处方笺。为什么需要使用PDF呢?...虽然该版本的iText不再开发,但是使用该版本的iText JAR已经可以满足项目的80% ~90%的需求的,主要需要引入itextpdf-x.x.x.jar 和 itext-asian-x.x.x.jar...仓库地址如下: https://github.com/itext/itextpdf 0x02:iText 7 iText 7是最新的,也是最强的PDF处理工具包。...iText可以在PDF文件中绘制矢量图,但是Apache PDFBox做不到(可能我没发现方法)。...仓库 https://gitee.com/xsxgit/x-easypdf 总结:操作PDF的JAR主要分成两类,分别是iText系列和Apache PDFBox系列,在之前的项目中使用PDF操作工具遇到不少的坑
犹豫几天,还是决定去除这个功能,刚好最近对于后台的重构也在进行,所以决定来一个大的改版(估计需要一段时间才能真正上线新的功能)。 今天的文章,也就是在准备的过程中实现的一个功能-导出PDF。...组件选用 在日常的工作中,利用POI导出Excel的功能需求自己做了不少,但是导出PDF确实是第一次做,在百度上进行一番查阅,发现大家都是使用Abode的iText组件来生成PDF。...所以这里也随大流,选用iText,官网上iText已经到7了,但是百度搜索的案例中,用的都是iText5,考虑自己对iText不熟悉,所以还是根据大众选用5,一方面,入手快有现成的代码可以复制,另一方面用的人多...我们也可以使用字节数组流实现。...添加图片 Image 定位 Anchor 水印功能 Watermark内部类,需要继承 PdfPageEventHelper类 writer.setPageEvent(new Watermark())
IText 是 Fabric.js 提供的一个 可编辑文本 的元素。 要设置文字颜色,可以设置 fill 。...const iText = new fabric.IText('hello world') // 将文本添加到画布里 canvas.add(iText) 复制代码 首先把...如果对这个概念不太熟的话,可以看看 Fabric.js 从入门到膨胀。 最后通过 new fabric.IText 创建一段文字添加到画布中。...在 Fabric.js 里是使用这个属性设置颜色的,和 css 设置文字颜色使用 color 不一样~ 单行:设置指定文字颜色 const iText = new fabric.IText('hello...我们这个例子只有1行,所以行号是0。 e 的下标是 1 。所以上面的代码就把 e 设置成红色了。其他字符还是默认的颜色。
继上一篇博客:图片添加二维码水印教程,https://smilenicky.blog.csdn.net/article/details/91653588, 本博客介绍一下,基于iText开源库做PDF文件添加文字水印和图片水印...,并基于此基础,事项PDF文件添加二维码水印图片效果 一、PDF文件添加水印 maven配置iText的jar,主要不是所有私服都有iText的jar,maven仓库没有的,可以去https://mvnrepository.com...二、PDF添加二维码水印 【拓展功能】 ok,这只是基本功能,然后要对其进行拓展 业务场景:要在上传的pdf文件自动加上二维码水印,用户可以扫描二维码获取对应数据 首先二维码里面其实也就是一些数据...,比如一个链接,或者一堆文字等等,这里可以通过Google开源的zxing库来事项生成二维码图片,然后附加到图片,形成水印 maven配置zxing对应jar: <!...,我们怎么知道类型?
支持文本,表格,图形的操作,可以方便的跟 Servlet 进行结合 iText的更新变化很大,早期版本在PDF样式上可能会有瑕疵,所有我使用的最新的5.5.6包 1.添加Maven依赖 itext...所以我们可以在最后关闭文档前,使用PdfTemplate写入总页码。可以理解成先写个占位符,然后统一替换。... * 就是在页面完成但写入内容之前触发事件,插入页眉、页脚、水印等。...目前我们就用的这个方式,写好html文档,使用时动态替换html中的标记位,然后生成pdf。...4. pdf中添加图片也非常简单,例如:,就可以了。 5.
工具准备 之前的文章Apache POI 详解及 Word 文档读取示例中,我们曾经用apache poi来实现对word文档的操作。...通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。...iText的安装非常方便,下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,在程序中就可以使用iText类库了。...这里使用的是itextpdf,代码如下: /** * 导出pdf文档中的部分页到新的pdf文件 * @param filePath 文件路径 * @param newFile 写入目标文件路径...: 读取pdf文件内容 使用pdfbox的pdfparser,代码如下: /** * 读取pdf文档指定页数的文本内容 * @param fileName 文件路径及文件名 * @
一、PDF文件添加水印 maven配置iText的jar,主要不是所有私服都有iText的jar,maven仓库没有的,可以去https://mvnrepository.com/artifact/com.itextpdf...二、PDF添加二维码水印 【拓展功能】 ok,这只是基本功能,然后要对其进行拓展 业务场景:要在上传的pdf文件自动加上二维码水印,用户可以扫描二维码获取对应数据 首先二维码里面其实也就是一些数据,比如一个链接...,或者一堆文字等等,这里可以通过Google开源的zxing库来事项生成二维码图片,然后附加到图片,形成水印 maven配置zxing对应jar: <!...,我们怎么知道类型?...application/x-zip-compressed");//zip FILE_TYPES.put("rar", "application/octet-stream");//rar } 有了工具类之后,我们需要获取文件上传的
工作中遇到需要生成PDF。最终选择了iText。其他也有通过html再生成。感觉不太适合就用了代码实现。 使用iText 5.5.13.1版本。...) 先看个效果图 Maven项目引入iText <!...* * @param input 需要加水印的PDF读取输入流 * @param output 输出生成PDF的输出流...,整张页面平铺 * @param input 需要加水印的PDF读取输入流 * @param output 输出生成PDF的输出流 * @param imageFile...ByteArrayOutputStream out = new ByteArrayOutputStream(); document.close(); //添加文本水印
这一特点使它成为在Internet上进行电子文档发行和数字化信息传播的理想文档格式。越来越多的电子图书、产品说明、公司文告、网络资料、电子邮件在开始使用PDF格式文件。...iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的。它的类库尤其与java Servlet有很好的给合。使用iText与PDF能够使你正确的控制Servlet的输出。...PDF Box 1958 PDFBox是一个Apache开源的x项目。可以操作PDF文档的Java PDF类库。它可以创建一个新PDF文档,操作现有PDF文档并提取文档中的内容。...iText GitHub 能方便地加入你的数据处理中,详情参阅参考资料7 2.2.3 文档例子比拼 最后看一下两者提供的文档: iText: 官网提供的资料很多 出版了几本电子书,最新的iText7...iText的这个许可协议我就觉得很好,我们能够第一时间拿到所有源码,使用其功能,能自己评估其性能,像我们这种学生党用来学习研究没有那么多顾虑,等我们需要商业用途的时候,那时也是在企业了,出点钱获取服务也是理所应当
大家好,又见面了,我是你们的朋友全栈君。 前言:本文探讨的是利用pageEvent事件在生成PDF文件的过程中把图片水印加好,这样导出的是加好水印的pdf文件。 1:加入依赖 com.itextpdf itext-asian...//设置水印图片的坐标。...image.setRotationDegrees(-45);//设置旋转 角度 //image.scalePercent(50);//设置依照比例缩放,与设置大小作用相同 //将水印图片加入到文档中...,可使用循环添加多个,添加多个时注意每个图片的坐标等属性 document.add(img); } catch (Exception e) {
在 HTML 中,input 输入框有2种方法自动聚焦,最简单的是在 input 标签上添加 autofocus 属性。...再次点的方法是使用 JS 获取输入框元素,再调用 focus 事件选中输入框。 在 Fabric.js 中,IText 组件也提供了类似的方法。...实操 Fabric.js 的 IText 是一个可编辑文本框,可以在项目运行时输入文字,功能其实和 HTML 的 input 差不多,都是可以让用户输入。...默认情况 在 Fabric.js 中,如果在创建 IText 时没有添加文字,在画布上你是很难用肉眼观察出你的输入框在哪的。...此时可以看到光标所在的位置一闪一闪的。 《enterEditing 文档》 再进一步 使用 enterEditing() 后输入框是激活了,也能看到光标一闪一闪。 但这就完了吗?
iText是著名的开放项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。...其他更多高级的操作,可以继续看下面的。基本处理步骤如下伪代码: //Step 1—Create a Document....3.通过Adobe Acrobat pro软件打开刚刚用word转换成的pdf文件(注:如果没有这个软件可以通过我的百度云下载,链接:http://pan.baidu.com/s/1pL2klzt)如果无法下载可以...4.点击右边的"准备表单"按钮,选择"测试.pdf"选择开始 进去到编辑页面,打开后它会自动侦测并命名表单域,右键表单域,点击属性,出现文本域属性对话框(其实无需任何操作,一般情况下不需要修改什么东西,...; writer.setPageEmpty(false); document.newPage(); document.add(new Paragraph("New page")); 4、添加水印
使用jacob进行转化 2.1 思路 2.2 代码示例 2.3 思考 3. 使用itext进行转化 3.1 思路 3.2 代码示例 4....所以使用这种方式转word显得有点鸡肋了。 2. 使用jacob进行转化 依赖jar jacob.jar jsoup-1.11.3.jar 2.1 思路 a). 标准化HTML b)....jacob使用的是office的api,服务器必须是windows,在linux下是不能运行的,所以很奔溃。...于是,我们申请一台windows服务器,在该调用HTML转word前,发送消息给windows服务器执行生成word。之后,通过Smb服务,java中的SmbFile获取远程文件到本地。 3....使用itext进行转化 依赖jar itext-2.1.7.jar itext-rtf-2.1.7.jar 3.1 思路 a). 将img标签中的src修改为本地图片路径 b).
前言 由于在MVC项目中需要使用PDF,所以自己抽空也来看看itext,以便于丰富自己的知识吧。在此也简单的记录一下,说不定以后可能还用的到。...在此您可以下载你想使用的版本http://sourceforge.net/projects/itextsharp/files/itextsharp/。于是我就下载了现在最新的版本5.4.0。 ?...,第二个参数可以是任何一种流,到目前为止我们一直使用System.IO.FileStream将Document写入文件中。...打开document前要做的事: 你只能在Open方法调用之前添加摘要,这是iText开发工具提供的一个选择。...页面初始化 Open方法在不同的Witer中同时会产生初始化事件,举例来说,如果你需要一个水印或者页眉页角对象出现在文档第一页的开始处,你需要在打开文档前添加这些,同样的用于设置该文档其他页水印、页眉
•二维码 - 支持扫码或生成二维码图片•文档识别- 从PDF扫描件中提取文本,或转为双层可搜索PDF• 全局设置 - 添加更多PP-OCR支持的语言模型库!...窗口的设计很人性化,在标签栏左上角可以切换窗口置顶。右上角能够锁定标签页,以防止日常使用中误触关闭标签页后导致数据丢失。...输入文本,生成二维码图片。2. 支持19种协议和纠错等级等参数。 文档识别 仅在 最新测试版 中支持。 文档识别: 1. 支持导入pdf, xps, epub, mobi, fb2,cbz格式的文件。...文档地址:https://github.com/hiroi-sora/Umi-OCR/blob/main/dev-tools/i18n 后续开发计划 已完成的工作 在之前的版本中,我们已经完成了多项关键功能的开发...近期开发计划 在接下来的v2版本的头几个更新中,我们计划逐步推出以下新功能: •PDF识别:将支持从PDF文件中识别文本,包括从扫描的PDF文档中提取文字。
领取专属 10元无门槛券
手把手带您无忧上云