iText7 DotNet 9.1.0 版本发布:SVG增强与表格性能优化
iText7 DotNet 9.1.0版本作为iText项目发展历程中的重要里程碑正式发布,该版本在SVG支持、表格性能以及数字签名等方面带来了显著改进。iText7是一个功能强大的PDF处理库,支持创建、编辑和操作PDF文档,广泛应用于企业级文档处理场景。
SVG支持大幅增强
本次更新对SVG模块进行了全面升级,新增了多项关键特性:
-
文本装饰与裁剪路径:现在支持文本装饰效果(如下划线)以及文本裁剪路径功能,为SVG文本提供了更丰富的视觉效果。
-
标记支持:新增对'marker-mid'属性的支持,并实现了从
<g>元素向其子元素传递标记的功能,这使得SVG图表中的标记应用更加灵活。 -
显示控制:增加了对
display: none和visibility: hidden属性的支持(文本元素除外),完善了SVG元素的显示控制能力。 -
字体与排版增强:改进了SVG模块对高级排版特性的支持,特别是在使用pdfCalligraph插件时,能够更好地处理复杂文本布局。
-
相对尺寸支持:优化了SVG在HTML元素中的相对尺寸处理,使得SVG在不同环境下的显示更加一致。
表格渲染性能提升
9.1.0版本对表格渲染引擎进行了深度优化:
-
大型表格处理:显著提升了包含大量行数的表格的渲染速度,特别是在处理标记表格时性能提升明显。
-
内存优化:改进了表格渲染过程中的内存使用效率,减少了大型文档处理时的内存占用。
数字签名功能增强
数字签名模块得到了多项改进:
-
两步签名支持:扩展了MAC完整性保护功能,现在支持两步签名流程。
-
证书验证优化:改进了对
pathLenConstraint参数的处理,不再需要针对basicConstraints扩展的特殊处理。 -
验证链增强:提供了注入HTTP、OCSP和CRL客户端到验证链中的能力,增强了签名验证的灵活性。
PDF/UA-2支持改进
针对PDF/UA-2标准的支持进行了优化:
- 注释标签处理:改进了在PDF 2.0文档中使用Annot标签处理内容元素的方式,提升了无障碍访问体验。
其他改进与修复
-
字体处理:优化了字体工厂的目录注册功能,支持递归搜索字体文件。
-
表单字段:修复了旋转表单字段默认字体大小计算不正确的问题。
-
远程跳转:改进了包含远程跳转和嵌入式跳转动作时的合并处理。
-
安全修复:解决了Xref流解码时可能出现的字节丢失问题。
iText7 DotNet 9.1.0版本的这些改进使得PDF处理能力更加全面,特别是在SVG支持和性能优化方面取得了显著进展,为开发者提供了更强大、更高效的PDF处理工具。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0218
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0140
uni-appA cross-platform framework using Vue.jsJavaScript09
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03