首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在iText 5中显示所见即所得字段?

在iText 5中显示所见即所得字段,可以通过使用AcroForm来实现。AcroForm是iText中用于创建和处理PDF表单的类。

首先,需要创建一个PdfReader对象来读取现有的PDF文件。然后,使用PdfStamper类创建一个新的PDF文件,并将PdfReader对象传递给它。

接下来,通过调用getAcroFields()方法获取AcroFields对象,该对象用于处理表单字段。然后,可以使用setField()方法将值设置到表单字段中。

要显示所见即所得字段,可以使用文本域(TextField)或富文本域(RichTextField)来创建表单字段。这些字段允许用户在PDF中输入文本,并且所见即所得。

例如,可以使用TextField.createTextField()方法创建一个文本域字段。可以设置字段的位置、大小、字体、颜色等属性。然后,使用setField()方法将字段添加到AcroFields对象中。

以下是一个示例代码,演示如何在iText 5中显示所见即所得字段:

代码语言:txt
复制
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.AcroFields;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;
import com.itextpdf.text.pdf.TextField;

import java.io.FileOutputStream;
import java.io.IOException;

public class ITextExample {
    public static void main(String[] args) {
        try {
            // 读取现有的PDF文件
            PdfReader reader = new PdfReader("input.pdf");
            // 创建一个新的PDF文件
            PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("output.pdf"));
            // 获取AcroFields对象
            AcroFields form = stamper.getAcroFields();
            
            // 创建文本域字段
            TextField textField = TextField.createTextField(stamper.getWriter(), new Rectangle(100, 100, 200, 50), "text_field");
            textField.setFontSize(12);
            textField.setTextColor(BaseColor.BLACK);
            textField.setBorderStyle(PdfBorderDictionary.STYLE_SOLID);
            textField.setBorderColor(BaseColor.GRAY);
            textField.setFieldFlags(PdfFormField.FF_MULTILINE);
            // 设置文本域的默认值
            textField.setText("Default value");
            // 将字段添加到AcroFields对象
            form.setField("text_field", textField.getTextField());
            
            // 关闭PdfStamper对象
            stamper.close();
            // 关闭PdfReader对象
            reader.close();
            
            System.out.println("PDF created successfully.");
        } catch (IOException | DocumentException e) {
            e.printStackTrace();
        }
    }
}

在上面的示例代码中,我们创建了一个名为"text_field"的文本域字段,并将其添加到AcroFields对象中。可以根据需要设置字段的各种属性,如位置、大小、字体、颜色等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

所见即所得——HTML转图片组件开发

前言 在我们日常开发中一定会遇到"所见即所得"的需求,导出查询表格中的内容为 Excel 表格——《前端导出 Excel,让后端刮目相看》(https://juejin.cn/post/7030291455243452429...今天我们也来实现一个"所见即所得"的需求:将用户所见网页提取为图片。 方案 1:最短步骤实现结果 第一个想到的方案就是通过浏览器自带的网页另存为图片去实现。 但这种方法显然是不可行的。...实现 HTML 导出为 PDF 目前市面上 HTML 导出 PDF 的实现方式有多种, jsPDF (https://github.com/parallax/jsPDF)、iText (https:/...let contentWidth = canvas.width; let contentHeight = canvas.height; //一页 pdf 显示..., 'a4'); //有两个高度需要区分,一个是 html 页面的实际高度,和生成 pdf 的页面高度(841.89) //当内容未超过 pdf 一页显示的范围

3.2K40

java(iText)工具包生成PDF

PDF操作类库 iText iText是一个非常著名的能够快速产生PDF文件的Java类库。...每一页加个页码还是很简单的,但是总页码就麻烦了,iText是流模式的写入内容,只有写到最后,才能知道有多少页,那么显示总页数就麻烦了,不过麻烦不代表不可能。...create() throws Exception { // html中字体非常郁闷 // 1. html中不指定字体,则默认使用英文字体,中文会不显示...// 2. html中指定的字体必须是英文名称,宋体:font-family:SimSun; // 3. html中不能指定自定义字体,必须指定itext支持的字体,还好itext...使用XHTML转pdf要注意的地方: 1. html中不指定字体,则默认使用英文字体,中文会不显示; 2. html中指定的字体必须是英文名称;宋体:font-family

10.1K23
  • Adobe Acrobat pro生成PDF模版

    最近做了一个关于动态生成PDF合同的需求  java生成PDF 网络上随便一搜遍有了 不要用手动在代码里面输入合同中的文字这种方式 这样的方式 http://blog.csdn.net/justinytsoft.../article/details/53320225 需求的多变,那天需要修改一下字体的颜色,或者字体, 增加一行字,等等其他奇葩要求,上面这个博客的方式都得修改代码 使用itext使用pdf模版的方式,...这里用的是itext生成PDF maven依赖 com.itextpdf itextpdf</artifactId...,资  ,肯定还有很多字不能显示出来 第一感觉就是更换字体  然后换成微软雅黑 ?...好吧,.现在汉字都显示不出来了,只显示数字 试了很多字体.都不行 最后,删除了自动生成的表单.手动往需要  动态添加内容的地方 添加表单域 实际测试  这种方法可行  itext 代码案例     //

    2.7K30

    MongoDB开发系列-字段存储长度使用探讨

    如果字段越短越好那就失去了字段本身的语义化作用。 MongoDB设计规范追求的极简模式更准确的使用场景和实际意义 3 如何在统一系统的不同信息调用阶段对于业务字段的长短描述做到平衡?...语义化缺失的问题,导致字段描述与其他数据库表字段和程序设计语言中的变量命名规范有冲突。 异构系统接口服务通信时,同一业务实体的字段描述风格之间的转化和平衡问题。...2017-03-03T20:09:15.000+08:00"), "updatetime" : ISODate("2017-03-03T20:09:15.000+08:00"), } My Idea 所见即所得...评估系统数量级,保证功能稳定性,简化应用程序开发难度,这种方式也是业界对于MongoDB所见即所得的高开发效率的一种应用,也就是前端传递的字段可以直接毫无转化的存入数据库。...随着对MongoDb设计思路的理解和使用场景的细致分析,结合应用数据量级,现阶段的我认为 所见即所得,语义化的字段存储并没有明显的劣势。 在MongoDb数据模型设计时,应该被推荐。

    1.9K20

    SpringBoot 下PDF生成使用填坑总结

    一、PDF生成 由于直接使用IText生成PDF,数据填充较为繁琐,故: 选用Freemarker和IText生成pdf,引入依赖: 环境:jdk 1.8 + SpringBoot 1.引入freemarker...PDF生成组件(使用版本5,最新版位 7, itext有open source和colsesource之分,目前7版本在网上少有例子) com.itextpdf..., "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); 所以,毫无疑问,选择方案2,引入iTextAsian pom,注意版本要跟itextpdf 一致,至少大版本要一致,...,但是后来在测试同学的细致测试下发现,如果将生成pdf和pdf文件转图片连起来还是会有中文显示乱码的问题: 复现方式:生成pdf文件后下载,然后上传(上传的时候,pdf转图片存储),预览图片,发现图片中的中文显示乱码...到此,中文不显示的问题完美解决。

    4.6K30

    HTML转word_讯飞语记怎么变成word文档

    使用itext进行转化 3.1 思路 3.2 代码示例 4. 总结 背景介绍 业务:将平台中笔记(富文本)以word形式导出。 1....os.close(); is.close(); } 1.3 思考 使用poi进行HTML转word的确很简单的,但是一个很棘手的问题就是当图片资源失效、断网的情况下,word的图片无法显示...使用itext进行转化 依赖jar itext-2.1.7.jar itext-rtf-2.1.7.jar 3.1 思路 a). 将img标签中的src修改为本地图片路径 b)....总结 方法一断网无法显示图片,方法二linux下无法生成,方法三图片大小不易调整;但总体来说方法三优于前两者。如有错误还请指正,谢谢。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。...发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.6K20

    html页面导出为pdf(jsPDF、iText、wkhtmltopdf)

    canvas.width; var contentHeight = canvas.height; //一页pdf显示...//有两个高度需要区分,一个是html页面的实际高度,和生成pdf的页面高度(841.89) //当内容未超过pdf一页显示的范围...github上有一篇文章说明比较详细,还有具体的demo:https://github.com/linwalker/render-html-to-pdf 二、iText ---- iText是一个第三方报表...renderer.createPDF(os); 以上只是简单利用html字符串来生成pdf,需要注意的是: 1、如果页面中有中文,服务器端需要下载字体库simsun.ttc,在后台进行引用,同时在页面的样式中加入对应字体的定义,:...【 转载请注明出处——胡玉洋《html页面导出为pdf(jsPDF、iText、wkhtmltopdf)》】

    6.6K10

    财务分析中一定要用到的利润结构化分析模板

    利润结构化分析 这种需求大致集中在: 1、对实际,同期,预算,预测进行对比,以反应差异 2、对差异及重点进行可视化的直观显示 3、进行计算,实现加入计算科目 4、进行批注,对问题的原因进行注解 你还在这样做吗...数据结构转换 由于大部分人习惯于所见即所得,因此,总是做出上述的结构并思考怎么继续可视化。 我们称上述结构为:堆叠式结构。行间数据之间存在计算依赖关系,这种并非:列式结构。...2、层级结构还原成堆叠结构显示,计算科目自动计算。 3、可添加结构化计算,:毛利率,主营业务利润率,净利润率。 4、批注自动化显示,且标记序号以对照,序号可以移动到不同字段以反应批注的对象。

    61421

    Spring+SpringMVC+MyBatis+easyUI整合优化篇(六)easyUI与富文本编辑器UEditor整合

    表结构是不是该这么设计,主键+介绍信息字段+图片字段+介绍信息字段+图片字段....我把这个详情全给拆开了,但是当我再看另一个设计稿的时候,我懵掉了,因为和第一张的排版不同,不是文字+图片+......富文本编辑器,是一种可内嵌于浏览器,所见即所得的文本编辑器。...富文本编辑器不同于文本编辑器(textarea标签、input标签),也可以叫做图文编辑器,在富文本编辑器里可以编辑非常丰富的内容,文字、图片、表情、代码......应有尽有,满足你的大部分需求。...UEditor 是由百度「FEX前端研发团队」开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码。..."imageAllowFiles": [ ".png", ".jpg", ".jpeg", ".gif", ".bmp" ], /* 上传图片格式显示

    1.1K60

    PDF技术 -Java实现Html转PDF文件

    失真情况较小 大部分网页能按Chome浏览器显示的页面转 部分CSS样式有问题。...对css3的新特性圆形图片样式支持行不好。部分页面样式会失效。对于echart图表展示,也可直接导出 3....IText(技术老旧,对样式不支持) iText是一个第三方报表java插件,可以在后端利用java随意生成、转化pdf文件,提供了很多api,比较灵活 IText实现html2pdf,速度快,纠错能力差...renderer.createPDF(os); 以上只是简单利用html字符串来生成pdf,需要注意的是:  1、如果页面中有中文,服务器端需要下载字体库simsun.ttc,在后台进行引用,同时在页面的样式中加入对应字体的定义,:....append("") 23 // .append("显示中文

    12.6K30

    我们探索和利用视觉结构​ ·《认知与设计》笔记3

    采用控件分割输入字段固然优化了视觉结构,但这种方式打断了输入的连贯性。对于填写一个长表单来说,使用菜单等控件使用户被迫将手从键盘上移至鼠标,将视线转移至光标位置。...因此需要在移动网页设计中减少不必要的输入,比如日期、地点(行政区划),而在电脑网页端提供文本框 + 选择控件并排显示,用户按需选择输入方式。 ?...8.18 采用上图所示的方式,通过六个框(相似性)来告诉用户需要输入六个数字,而每输入一个数字后,激活框会自动移至下一个,也是一个很好的方案 视觉层次让人专注于相关的信息 可视化信息显示的最重要目标之一...它不提供所见即所得(WSYIWYG)的编辑系统,而使用符号标记来表示段落或文本样式,这是一种写作与排版分离的模式,在写作时,只使用键盘与显示器,注意力不会被迫转移,而排版在导出文档之后完成,就这样,Markdown...由阿里开发的语雀综合了两种方式的优点,即提供所见即所得的同时允许用户使用快捷键迅速更改样式,而且将各层级的标题以大纲的形式显示在文章右侧。

    67030

    xwiki功能-页面编辑

    Version summary:版本汇总 (输入修改说明),该字段允许在保存前对文档所做的更改输入简短说明。这将显示在历史记录页面里,这是为了增加对内容演变的理解。...此模式是所见即所得,可以边编辑边看效果,并且提供工具栏可以在你的文本添加特殊效果,添加图片,插入链接,添加宏等。 ?...用XWiki 企业1.7开始,我们有2个所见即所得的编辑器,我们正在逐步淘汰旧的使用XWiki语法1.0的编辑器(基于TinyMCE)。...如果页面没有设置父节点,面包屑将不会显示Main.WebHome路径到页面的导航。这些页面被称为孤儿页面。 ? ? 请注意,当你复制一个页面到一个新的空间,他的父节点字段不会相应地更新到新的空间。...表单编辑模式(又叫内嵌模式) 内联模式或表单模式,这是XWiki的特殊功能,即允许管理员定义结构化信息(博客条目,或标准的财务表单)。含有这种结构化信息的页面可以被编辑和以简单的HTML表单编辑。

    2.1K10

    电子表格调研

    一、 竞品分析 1.1 调研目的 电子表格可以输入输出、显示数据,也利用公式计算一些简单的加减法。...可以帮助用户制作各种复杂的表格文档,进行繁琐的数据计算,并能对输入的数据进行各种复杂统计运算后显示为可视性极佳的表格,同时它还能形象地将大量枯燥无味的数据变为多种漂亮的彩色商业图表显示出来,极大地增强了数据的可视性...分组表中介绍,如果想要在维度区域再增加一个年份字段来统计各年度的合同金额,使用分组表只能加在行表头,显示数据条数将非常多,如下图: ?...如果我们使用交叉表,就可以增加一个列表头用于展示年份维度,数据显示将清晰很多,如下图 ? 总结:google sheet 和石墨文档的电子表格功能十分强大,支持筛选、选择列、行、以及计算字段。...数据区域的更新按钮,虽然一定程度上牺牲了用户体验,但是节约资源,用户每次调整数据字段,不用都触发后端请求。样式设置上则是所见即所得,十分友好。

    2K10

    前端:开源免费的浏览器端Markdown编辑器——Vditor上手体验

    一、编辑器简介Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。...二、功能特性● 支持三种编辑模式:所见即所得(wysiwyg)、即时渲染(ir)、分屏预览(sv)● 支持大纲、数学公式、脑图、图表、流程图、甘特图、时序图、五线谱、多媒体、语音阅读、标题锚点、代码高亮及复制...10+项配置● 工具栏包含 36+ 项操作,除支持扩展外还可对每一项中的快捷键、提示、提示位置、图标、点击事件、类名、子工具栏进行自定义● 表情/at/话题等自动补全扩展● 可使用拖拽、剪切板粘贴上传,显示实时上传进度...,支持 CORS 跨域上传● 实时保存内容,防止意外丢失● 录音支持,用户可直接发布语音● 粘贴 HTML 自动转换为 Markdown,粘贴中包含外链图片可通过指定接口上传到服务器● 支持主窗口大小拖拽...)\n所见即所得模式对不熟悉 Markdown 的用户较为友好,熟悉 Markdown 的话也可以无缝使用。

    57530
    领券