文章更新时间:2023-09-28 11:23
组件简介
维护者 | itext 组织 | 许可证类型 | AGPL-3.0 |
首次发布 | 2011 年 4 月 29 日 | 最新发布时间 | 2022 年 2 月 25 日 |
GitHub Star | 1524 | GitHub Fork | 447 |
依赖包 | 340 | 依赖存储库 | 7,964 |
com.itextpdf:itextpdf 是一个用于生成和处理 PDF 文档的 Java 类库,它是一个开源项目,基于 AGPL 和商业双重许可。
官方仓库:https://github.com/itext/itextpdf
参考链接:
https://mvnrepository.com/artifact/com.itextpdf/itextpdf
https://packages.ecosyste.ms/registries/repo1.maven.org/packages/com.itextpdf:itextpdf
组件健康度
技术健康度 | 该组件具有较高的技术健康度,它提供了丰富的 PDF 功能,如文本、图像、表格、表单、注释、签名、加密、压缩等,可以满足不同场景的需求。它还支持将 XML、HTML 等格式转换为 PDF,以及从 PDF 中提取文本和数据。它的代码质量和性能也较好,没有发现严重的 bug 或漏洞。 |
社区健康度 | 该组件的社区健康度一般,它有一个活跃的开发团队和一些贡献者,但是在 GitHub 上的 star 数和 issue 数都不多,表明它的关注度和参与度不高。它的官网提供了一些文档和示例,但是不够完善和详细,也没有中文版。它还有一个论坛,但是回答问题的速度和质量都不高。 |
更新和维护频率 | 该组件的更新和维护频率较低,它的最新版本是 5.5.13.3 ,发布于 2022 年 2 月 25 日,距今已经有一年多没有更新了。它的主要更新内容是修复了一些安全问题和依赖问题,没有增加新的功能。它目前处于维护模式,只接收安全相关的更新,不再开发新特性。 |
兼容性 | 该组件的兼容性较好,它支持 Java 5 及以上版本,以及 .NET 4.0 及以上版本。它还可以与其他 iText 套件中的组件配合使用,如 iText Suite, iText Community, pdfXFA 等。它遵循 PDF 标准规范,可以生成符合 ISO 标准的 PDF 文件。 |
文档和支持 | 该组件的文档和支持较差,它的官网上提供了一些基本的文档和示例,但是不够完善和详细,也没有中文版。它还有一个论坛,但是回答问题的速度和质量都不高。如果需要更多的支持和服务,需要购买商业许可或者成为合作伙伴。 |
com.itextpdf:itextpdf 是一个功能强大、性能良好、兼容性好的 PDF 类库,但是它已经停止开发新特性,只进行安全维护,而且缺乏足够的文档和支持。因此,如果你需要一个稳定、成熟、符合标准的 PDF 类库,并且不需要太多的新功能和帮助,你可以选择使用它;但是如果你需要一个持续更新、创新、完善、有良好社区支持的 PDF 类库,你可能需要考虑其他的选择。
参考链接:
https://www.bouncycastle.org/latest_releases.html
https://github.com/itext/itextpdf/releases
https://www.cnblogs.com/h–d/p/6150320.html
https://blog.csdn.net/luckykapok918/article/details/73088978
https://blog.csdn.net/yiminghd2861/article/details/115456154
组件许可证解读
该组件是基于 AGPL 和商业双重许可的开源项目,这意味着它可以免费地用于开源的情况,但是如果要用于闭源的商业环境,就需要付费。
AGPL 是一种自由/开源软件许可,它要求使用该组件的软件也必须以相同或兼容的许可开放源代码,并且提供网络用户访问源代码的途径。
商业许可是一种付费的许可,它允许使用该组件的软件不需要开放源代码,也不需要提供网络用户访问源代码的途径,但是需要遵守商业许可协议的条款。
如果你想使用该组件,你需要根据你的使用场景和需求选择合适的许可方式。
许可证原文链接:https://github.com/itext/itextpdf/blob/develop/LICENSE.md
组件漏洞版本及修复方案
漏洞编号 | 漏洞标题 | 漏洞等级 | 影响版本 | 修复版本 |
MPS-2017-12623 | iText XML解析器代码问题漏洞 | 高危 | (-∞,5.5.12) | 5.5.12 |
同类型可替代组件
- PDFSharp:这是一个开源的 .NET 库,可以轻松地创建和处理 PDF 文档,支持从 PDF 中提取文本、图像和形状,合并和拆分 PDF,添加水印和注释,加密和解密 PDF 等功能。官网:https://www.pdfsharp.net/
- jPDFText:这是一个付费的 Java 库,可以从 PDF 文档中提取 Unicode 文本,支持从 PDF 表单中提取数据或向表单中填充数据,支持验证 PDF 是否符合 PDF/A-1b 标准等。官网:https://www.qoppa.com/pdftext/
- jPDFProcess:这是一个付费的 Java 库,可以创建、修改和操作 PDF 文档,支持从 PDF 中提取文本、图像和注释,向 PDF 中添加文本、图像、注释和表单域,合并和拆分 PDF,加密和解密 PDF,签名和验证 PDF 等。官网:https://www.qoppa.com/pdfprocess/
- ReLaXed:这是一个开源的 npm 应用程序,可以使用 HTML 或 Pug 语言创建漂亮的 PDF 文档,支持使用 CSS 和 JavaScript 添加样式和交互性,支持使用 LaTeX 公式、SVG 图形、Markdown 语法等。官网:https://github.com/RelaxedJS/ReLaXed
组件SBOM
组件名称 | 版本 | 是否直接依赖 | 仓库 |
org.bouncycastle:bcutil-jdk15to18 | 1.71 | 否 | maven |
commons-logging:commons-logging | 1.1.1 | 否 | maven |
org.bouncycastle:bcprov-jdk15to18 | 1.71 | 是 | maven |
org.apache.santuario:xmlsec | 1.5.8 | 是 | maven |
commons-io:commons-io | 2.4 | 是 | maven |
org.bouncycastle:bcpkix-jdk15to18 | 1.71 | 是 | maven |
org.apache.commons:commons-imaging | 1.0-alpha1 | 是 | maven |
该SBOM清单仅展示部分内容
完整SBOM清单及检测报告:
https://www.murphysec.com/console/report/1707226401547616256/1707226401807663104?allow=1