前言 最近有个需求需要我用Java手动写一份PDF报告,经过考察几种pdf开源代码,最终选取了itext7,此版本为7.1.11,由于发现网上关于该工具的博文比较少,特别是实战博文几乎没有,在我踩完各种坑...Tab,\t itext7中如果要表示段落前的空格,不能使用\t,但换行可以使用\n 若要实现Tab效果可以有多个方法 \u00a0符号,大概7、8个该符号可表示tab,可能不是很准确 p1...画图或画文字 能画出多么复杂的图形看是谁画了,在我的PDF中,我画的最复杂的图形如下 ?...添加目录 我没有找到itext7原生是否有目录添加,根据我自己的需求,我用Table组件来实现了自定义目录,由于我的PDF是用来打印的,所以我并没有给目录添加Link,也就是页面跳转,不过当你彻底理解了我的项目...于是研究读取原pdf在原pdf上修改,二次渲染的时候填上页码及移动页面,主要代码如下,包括了读取中间文件,移动目录,添加每页页码 PdfReader reader = null; PdfWriter writer
PDFminer PDFMiner内置pdf2txt.py和dumppdf.py。但是pdf2txt.py从PDF文件中提取所有文本内容。但不能识别画成图片的文本,这需要对图片特征进行识别。...MuPDF 中的渲染器专为高质量抗锯齿图形而设计。它通过度量和间距准确地呈现文本,以在屏幕上再现印刷页面的外观。...该库采用可移植的 C 模块化编写,因此集成商可以根据需要添加和删除功能。此外,还有一个使用 JNI 的 Java 库,可在 Oracle 的 Java 和 Android 上运行。...Apache PDFBox Apache PDFBox库是用于处理PDF文档的开源Java工具。该项目允许创建新的PDF文档,操纵现有文档以及从文档中提取内容的功能。...获取pdf中内容信息 - 掘金[10] 10.
导出功能,移除了itext7(解决AGPL开源协议问题); 重点功能 修复fastjson漏洞 重构pdf导出 Issues处理 报表导出时,出现错误,去掉样式#I52O77 查询条件下拉单选的占位文本描述显示不正确...#966 查询条件,文本框提示信息没有是字段名不是字段文本#979 图形刷新和搜索条件的bug#I5310Z 图表联动,当子表没有数据时,会弹窗数据为空,且子表的数据也会恢复默认数据#I531S7 导出数据...,被删除的记录依然存在于字典列表中#910 增强js可以展开收起查询条件区域#I4YGJI 错误信息提示几行几列#I4Z8V9 百分比格式化结果设置2位小数,不起作用#I5152T 分辨率低,报表设计无横向滚动条...#I508CJ 分组动态显示不整齐问题#935 Api数据集参数默认值为空时,报错#922 导出excel时出现json反序列化报错#953 #代码下载 https://github.com/zhangdaiscott...│ ├─环形图 │ │ ├─进度条 │ │ ├─仪盘表 │ │ ├─字浮云 │ │ ├─表格 │ │ ├─选项卡 │ │ ├─万能组件 └─其他模块 └─更多功能开发中。
html页面直接导出为pdf 后端组装页面,导出pdf 对比两种方式,很明显第一种方式优越性更好。...itext7好像是最新版本,这种方式适合于维护PDF模板然后动态添加内容,有需要的小伙伴可以了解一下。...而且itext7更多用于需要去维护PDF模板的场景,并不适合我本次的需求。所以我最终使用html2canvas+jsPDF的方式来实现。...大家可以从官网下载。我也会在文末的资源包中放一份,方便大家使用。...//未生成pdf的html页面高度 var leftHeight = contentHeight //页面偏移
二、处理PDF页面大小一致 由于原始PDF 是扫描图片合成来的,有些页面扫描的图片规格不一致,导致pdf阅读性很差。...对于这个pdf我进行处理,首先是在nuget 里面搜索 itext 进行安装,使用itext7。...页码,将原来的PDF页码对象拷贝PdfFormXObject到要生成的PDF文档中,首先要copy页面对象才能使用,不然直接获取的page对象是原来文档的,我们无法操作。...var formXObject = page.CopyAsFormXObject(outPDfDoc); 然后对页面进行缩放计算,我们新的PDF默认设置成A3大小,通过计算原始页面和新页面宽高比例进行缩放...处理后的PDF: 三、切分PDF 切分PDF 就比较简单了,直接从原始文件中拷贝页面到新PDF文档中就行了。
它可以创建一个新PDF文档,操作现有PDF文档并提取文档中的内容。 JFreeReport 2146 JFreeReport的数据继承自Swing组件的TableModel接口。...文档不全,难以学习,是阻挡开源库发展的主要原因,而且大多数PDF开源库只关注一方面,拥有全面功能的PDF可以说少之又少。 其实我们从点击量就能看出PDF开源库的受欢迎程度了。...2.2.2 模块/功能比拼 接着来看一下各自的功能特性: PDFBox: Unicode文本提取 PDF文档拼接/分离 从PDF表单里面提取数据/数据填充表单 验证PDF文档是否符合PDF/A...iText GitHub 能方便地加入你的数据处理中,详情参阅参考资料7 2.2.3 文档例子比拼 最后看一下两者提供的文档: iText: 官网提供的资料很多 出版了几本电子书,最新的iText7...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
iText 7体系非常强大,记得有个功能可以把HTML页面直接转成PDF文档。其他功能有待你去慢慢发现。...仓库如下 https://github.com/itext/itext7 备注:iText 5 与 iText 7都是收费的,使用时需要购买版权。虽然收费,但是值得拥有。...因为之前小编在做电子处方笺时,对比使用了 iText 和 Apache PDFBox(接下来要介绍的一款JAR包)。...iText可以在PDF文件中绘制矢量图,但是Apache PDFBox做不到(可能我没发现方法)。...0x03:Apache PDFBox Apache PDFBox库是用于处理PDF文档的开源Java工具。该项目允许创建新的PDF文档,操纵现有文档以及从文档中提取内容的功能。
解决计算表头对象中的错误: 现在我们允许空值作为单元格值,因为这将在需要时解决(例如在 pandas DataFrame 中)。...版本 1.23.19(2024-01-25)中的更改 Bug 修复: 修复 3087:在指定掩码时插入图像时出现异常。...在源页面包含无效项 /Annots 数组时,避免方法 insert_pdf() 中的异常。 对适用的注释返回空边框字典。 我们之前即使对于不适用的注释类型也返回了非空边框字典。...修复一个错误,在 Python 2.7 中创建链接目标时出现错误。 扩展FAQ 章节,提供更多示例。...版本 1.13.17 变更 修复一个错误,此错误间歇性地导致Page.show_pdf_page()中的异常,当来自许多不同源 PDF 的页面显示时。
,且输入框不恢复的问题 修复从控制中心切换进入通知中心效率慢的问题 修复任务栏调整字体大小后时间显示不全的问题 修复使用全局搜索无任何结果时显示结果有文件的问题 修复启动器中无法正确卸载deb包安装的应用...修复存在加密PDF文件时,勾选全文搜索进行搜索时出现崩溃的问题 修复部分机型电脑重启后,三分钟内在桌面右键菜单缺少选项的问题 修复手动挂载U盘到/data目录,删除文件提示无权限的问题 修复UDF刻录空的文本文件时...修复调整异常状态重新下载时的触发区域 修复一键安装界面可能出现选中状态不对的问题 修复搜索游戏应用点击安装后,配置文件中类型都会显示other的问题 浏览器 修复网站头部标识中的cookie标记到了其他网站的问题...修复对话框按钮页面汇总文字之间缺少空格的问题 修复系统切为繁体、正体时,任务栏图标右键的所有窗口未翻译的问题 修复快速点击地址栏前进、后退按钮出现崩溃的问题 修复从设备上传超过10M大小的jpeg格式图片...修复输入框和历史框有内容时清除输入框后输入符号,清除按钮显示错误的问题 修复非标准模式下触控屏输入区域右键,在菜单选择”剪切””删除”之后内容仍然存在的问题 修复当中文句号和英文小数点同时存在时,错误优先识别中文句号的问题
接下来一起来看看具体更新内容吧: 摹客RP 新增图文选项卡组件 新增辅助画板做弹窗时的滑入、推入等效果 图层树中同层级节点支持拖拽,以调整图层顺序 修复大画板导出图片内容错误的问题...项目与页面 页面回收站支持以树结构展示所有已删内容。 修复从网页项目类型修改为移动项目后,项目变为横屏的问题。 修复页面树异常滚动的问题。...修复因交互设置中的“始终置顶”功能引起的异常演示问题。 修复开启“滚动时固定位置”的元素在客户端演示时顶部存在未固定区域的问题。 其它 优化模板例子保存流程,支持保存到指定团队。...新增批量删除非空的项目集时,不能删除的提示。 优化画板中按住Shift+鼠标滚轮,预期横向移动而非纵向移动的问题。 优化演示的分享链接的长度,优化为短链接。...修复 修复编组内间距侦测时数值错误的问题。 修复线条绘制时路径不平滑的问题。 修复离线演示包导出后无法打开的问题。 修复PDF导出后图片资源丢失的问题。
它具有以下功能: 生成PDF文件:通过导入一批图片或已有PDF文件,生成包含图片及已有PDF文件指定页面范围的PDF文件。在生成文件时还可挂上书签。用此功能还可以拆分、合并PDF文件。...导出信息文件:将PDF文档中的元数据、阅读器初始状态、页码设置、页面设置、书签等信息导出成可编辑的XML文件。...添加、修改或删除PDF文档的书签,设置书签的文字颜色、打开或收拢状态、点击后的跳转位置及页面缩放比例等。 添加或修改页面内的链接。 添加或更改PDF文档的逻辑页码编号。...版本更新说明 0.2.7.2 2010年6月11日 新增功能: 生成文件时可选自动生成文档书签。 生成文件时可选保留源 PDF 文件的书签及页面链接。 生成文件可选关闭书签。...修复错误: 导出页面内容或生成文件时,输出文件异常变大的问题。 从图片生成 PDF 文件时不恰当旋转页面方向的问题。 无法正常编辑文件及目录名称的问题。
SQL转换为分页查询issues/I43EK0 v1.3.64-beta升级至v1.3.7出现报表导出异常,出现字符串越界错误issues/#I43EOI 1.3.64-beta、1.3.7 版本 访问...sqlserver,如果查询时间稍长,就会报超时issues/I43TIT 调用oracle sql 经常报超时issues/I42Z57 如果yml文件中的pageSize没有设置10,在预览报表时,...查询结果仍然是十条结果issues/I42978 1.3.64-beta PDF导出图片不全issues/I41JHS 导出PDF出现 NullPointerExceptionissues/I43VWD...issues/I430IC 支持树形菜单查询控件issues/I46ION 预览时后端空指针异常issues/I453DF Oracle数据源,回车搜索报表名称issues/I44KQ4 pgsql数据库下图表钻取配置完后保存失败...数据库下图表钻取配置完后保存失败issues/I45I9E 分版空指针异常issues/I450YZ 表格设置了分版设置Sum函数统计出错issues/I45C35 导出中包含图表报错issues/
为空时,可能导致MybatisPlusConfig中出现空指针异常 【高级查询】 oracle 日期等于查询报错 导入Excel校验类FieldPresenceUtil 迁移到autopoi中 【单元测试...上传组件样式问题修复 数据字典禁用和正常区别开,添加背景颜色 退出登录清空缓存的用户信息 【严重问题】首页的系统设置没了 省市区组件导致切换页面浏览器报错 唯一校验为空页面出现异常代码问题 popup...#2070 注册用户总是提示“手机验证码错误” #2081 当用户单租户多部门时存在未setTenant的BUG #2053 设置菜单消失 #2079 2,4版本问题如果url中有包括中文(已编码),就报...列表自定义项,弹出的popover会随columns的个数及title长度而不合理地变宽 #2030 生成的表单复制到项目内,如果菜单配置为一级菜单后,各一级菜单切换时,页面刷新有问题 #1843 首页点击其他菜单跳转页面时...,2个页面会出现同时出现的问题 #1893 附表如何添加部门、用户等基础资料的选择 #2118 MySQL 8 persist关键字问题报错 #2140 于SpringBoot 请求参数包含 [] 特殊符号
生成示例数据:第一步: 将数据节点个数参数值设置为4,其他生成参数利用页面默认值即可第二步: 点击“生成”按钮,将数据生成至表格中第三步: 点击“操作”栏中按钮,删除dn_02数据节点中多生成的记录第四步...如预检测项提示需要导出导入数据的,则需要为存储节点配置SSH权限,如连接失败,会给出错误提醒,并有“重试”按钮当存储节点开启GTID,如预检测提示需要导出导入数据且从库的GTID不为空时,会提示需要对从库执行...RESET MASTER,在正式搭建复制关系时执行,执行前会对从库进行数据备份所有预检测项,没有“重试”按钮且异常项都已点击确认,则可点击“下一步”按钮,进入正式搭建复制关系页面正式搭建主从复制关系进入...页面说明如下:数据节点中存在多个待搭建复制关系的节点时,会显示多个搭建任务“源主存储节点”为搭建复制关系中,CHANGE MASTER TO的存储节点“目标从存储节点”为搭建复制关系中,执行CHANGE...MASTER 的存储节点“目标复制关系”为数据节点中配置的复制关系“是否需要重导数据”是根据预检测中是否出现导出导入的异常提示,如需导出则显示为“是”“最终结果”显示为搭建成功或搭建失败搭建失败后,会在
之前写过批量提取封面的文章,传送:Python提取PDF第一页为封面图片【批量提取】,但是在后期的深入编写过程中遇到一些问题,近期再次深入编写程序,一起来看看代码吧!...window安装方式 通过国内网址:http://blog.alivate.com.au/poppler-windows/,下载压缩包,将压缩包进行解压操作,目录如下图,将解压包放置到磁盘根目录(避免出现误删除情况... 路径中的 斜线 替换 pdf_path = pdf_path.replace('\\', '/') new_file_path = v_path.replace(pdf_path...密码 use_cropbox=False, # 使用cropbox而不是mediabox strict=False, # 当抛出语法错误时,它将作为异常引发...%s成功" % file) except: print("删除文件%s异常" % file) if __name__ == '__main__
当队列为空时,从队列中获取元素的操作将会被阻塞,直到队列中出现新的元素;当队列满时,向队列插入元素的操作也会被阻塞,直到之前的元素被取出或者队列被清空。...如果队列为空,则调用 notEmpty.await() 方法使线程等待。 如果队列不为空,则调用 extract() 方法删除队列中的元素并返回。 释放锁。 ...在获取锁后,该方法会遍历队列中的元素,查找和参数o相等的元素,并调用removeAt方法将其从队列中删除。最后释放锁并返回结果。...拓展: 这段代码实现了ConcurrentLinkedQueue的remove方法,用于从队列中删除指定的元素。 ...在这个过程中,因为ArrayBlockingQueue具有阻塞特性,即当队列已满时,向队列中添加元素的线程会被阻塞,直到队列中有空余位置;当队列为空时,从队列中取出元素的线程会被阻塞,直到队列中有元素可取
回忆意味着从记忆中取出细节,它需要多很多的时间。从一系列选项中选择,比根据记忆写出选项容易很多。一个使用常见 icon 的简单 UI 是基于识别的,一个命令行界面是基于回忆的。...比如,在查询数据库时,Room 提供不同的返回值,允许用户进行同步查询,使用LiveData,或者如果他们喜欢的话,使用 RxJava2 中的 API。...避免显示状态码或者异常类名称,用户不会知道如何处理这些信息的。 ? 创建事件时的错误信息。 来源 在输入区域失去焦点时尽快显示错误信息,不要等到用户点击提交表单的按钮。更不要等到服务端传来错误信息。...例如,试图把 null 值插入一个有 NON NULL 限制的列中,就是一种异常的情况,会抛出 SQLiteConstraintException。 抛出具体的异常。...通过抛出已有的异常来帮助你的 API 用户,使用尽量具体而不是笼统的异常,并好好填写错误信息。
同时支持全局配置是否隐藏排序文本提示 dropdown: 使用 compositionAPI 重构 dropdown 组件 Bug Fixes InputNumber: 修复 input-number 重构 hook 使用错误出现的问题...: 修复弹出 tooltip 异常 input: 修复 autowidth 模式计算错误 form: 修复当 modelValue 为外部传入的 undefined 时,双向绑定失效 form: 修复...attrs 注入异常 timePicker: 修复当 modelValue 为外部传入的 undefined 时,clearable 失效 Steps: 支持 separator api & 修复响应式问题.../tag/0.2.1 TDesign Vue Next Starter 发布 0.3.1 版 Features lint新增 style scoped 提示 新增维护中页面 升级组件库依赖至 0.14...+ Bug Fixes 修复多标签 Tab 页关闭左侧,关闭其他可能导致主页标签被删除 修复多个滚动列表之间切换时页面不刷新导致的样式缺陷 详情见:https://github.com/Tencent/
已解决错误代码: NullPointerException(空指针异常) 项目场景: 我们假设在一个电子商务网站的后端应用中,有一个用户管理模块。在用户登录后,系统会显示用户的个人信息和订单信息。...错误消息显示尝试在空对象上调用方法或访问其属性,导致了空指针异常。这可能是因为在加载用户数据时,某些数据为null,而在后续代码中没有正确处理空对象的情况,导致异常的触发。...在前端页面上,使用模板语法或条件判断来处理可能为空的数据,确保不会出现空指针异常。 总结: NullPointerException异常通常是由于未正确处理或检查空对象的情况而引起的。...通过在加载数据时进行空值检查和合适的处理,以及在前端页面上对可能为空的数据进行判断和操作,我们可以避免空指针异常的发生,并提高应用程序的稳定性和用户体验。...在编写代码时,正确处理空对象是确保程序健壮性的重要一环,这也是我们在开发过程中需要特别注意的地方。通过良好的编码实践和合理的错误处理,我们可以提高代码质量,降低出错的风险。
导入支持数据下拉选择,目前仅支持枚举类型; 导入数据支持前后空格以及中间空格处理,允许指定列进行设置; 导入支持模板自动检查,数据自动校验,异常统一处理,并提供统一的错误封装,包含异常、模板错误和行数据错误...【导出】修复导出HTML、Pdf、Word时,模板在某些情况下编译报错的问题。 【导入】重写空行检查。...2.0.0-beta1 【导出】完全重构整个导出Excel模块并且重写大部分接口 【导出】支持列头筛选器——IExporterHeaderFilter,具体使用见单元测试 【导出】修复转换DataTable时支持为空类型...:数据错误信息 TemplateErrors :模板错误信息,支持错误分级 HasError : 是否存在错误(仅当出现异常并且错误等级为Error时返回true) 【导入】基础类型必填自动识别,比如...) 【导入】支持列索引设置 【导入】支持将导入的Excel进行错误标注,支持多个错误 【导入】加强对基础类型和可为空类型的支持 【EPPlus】由于EPPlus.Core已经不维护,将EPPlus的包从
领取专属 10元无门槛券
手把手带您无忧上云