问题标签 [itext7]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 什么替换了 iText 7 中的块?
尝试在 java 中使用 iText 7。想让段落加粗。显然,在早期版本中,这是通过分别格式化“块”然后将它们添加到段落中来完成的。显然 iText 7 中不存在“块”。iText 7 的程序是什么?
java - iText 7核心中缺少xmlworker
我正在尝试在 Java 中使用 iText 7。想要将 HTML/XHTML 转换为 PDF。
显然xmlworker.jar
不存在于iText 7 core
.
iText 7 的替代品是什么?
有什么解决办法吗?
itext - how to change code so it works with itext 7
The following code works nicely with iText 5:
What is the correct syntax for iText 7?
Where can I find examples and documentation about iText 7?
itext7 - iText 7 Hello World 示例因 NoClassDefFoundError 而失败
处理 itext 7 代码的第一个示例会在第 4 步导致 NoClassDefFoundError。如果有人能指出错误的来源会有所帮助吗?
这会产生
代码在 Groovy 下运行,这就是它稍微稀疏的原因 IO、内核和布局 jar 被加载。
itext7 - itext 7 中的页面大小
iText 7 中 PageSize 的静态值仅适用于 ISO 'A' 尺寸,而 5 有大约 52 个值,包括有些古怪的 Quarto 和 Penguin 尺寸。
这将是一种永久的状态,还是会在某个时候被包括在内?我知道我可以制作一个我想要的大小的矩形,但这有助于形成一直丢失这张纸......
itext7 - 如何使用 itext 7 确定列号
我使用 itext 7 及其 ColumnDocumentRenderer 创建了文档。我想将一些文本强制放入最后一列。“最后一列”是指例如,如果我有一个由 ColumnDocumentRenderer 定义的具有 3 列的页面,但我只有一列文本,我仍然希望第 3 列包含我的强制值。所以我想(假设一个解决方案,其他人赞赏)我需要机制来知道我所在的列号并强制分列。由于 StackOverflow 希望以问题的形式出现,(a)这些机制是什么?(b) 有哪些替代方法?
问题如何使用 iText 将文本插入点跳过到下一列?显然提出了类似的问题,但显然使用的是早期版本的 itext;我的没有我能找到的 ColumnText。
提前感谢您的帮助。
java - iText7 引用旧的 BouncyCastle 库
好的,我正在尝试执行针对 iText (7) 和 BouncyCastle (154) jar 文件编译的测试 Java 程序。一切正常运行,直到我在调用 signDetached 函数时尝试添加 OCSP 响应。
我的代码基本上是来自 iText 网站的这段代码:
在必要时替换我的证书和密码详细信息。一切都可以编译,但是当我运行它时,Java代码会出现以下错误:
线程“主”java.lang.NoClassDefFoundError 中的异常:com.itextpdf.signatures.OcspClientBouncyCastle.getEncoded(OcspClientBouncyCastle.getEncoded(OcspClientBouncyCastle.java:148) 处的 org.bouncycastle.ocsp.RevokedStatus com.itextpdf.signatures.PdfSigner.signDetached(PdfSigner.java) :510) 在 DECSignHello.DoSign(DECSignHello.java:314) 在 DECSignHello.main(DECSignHello.java:125) 引起:java.lang.ClassNotFoundException: org.bouncycastle.ocsp.RevokedStatus 在 java.net.URLClassLoader.findClass( URLClassLoader.java:600) 在 java.lang.ClassLoader.loadClassHelper(ClassLoader.java:777) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:750) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java :326) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:731) ... 4 更多
当我深入挖掘时,我发现 iText7 正在使用一个名为的 java 类OcspClientBouncyCastle
,它引用了一个来自更老的 BouncyCastle 实现的类文件(151 之前的东西 - 尚未确定包含此类的确切版本)。它引用的类是org.bouncycastle.ocsp.RevokedStatus
. 导致问题的代码是这样的:
status instanceof org.bouncycastle.ocsp.RevokedStatus
在第 148 行OcspClientBouncyCastle.java
。它不存在于 151 及以上版本的任何 BouncyCastle jar 文件中......
同一个 iText 类OcspClientBouncyCastle.java
文件似乎也使用在路径org.bouncycastle.cert.ocsp.*
中找到的较新的 BouncyCastle 类来处理与 BouncyCastle 相关的所有其他内容,因此看起来好像它使用了两种不同的 BouncyCastle 实现。至少在我看来是这样的。
这导致我的 OCSP 测试失败,因为当我从我的服务提供商处获得无效的 OCSP 响应时(这是预期的,因为我正在使用已撤销的证书进行测试)OcspClientBouncyCastle.java
源代码引用的类在类路径中找不到 - 所以这一切都因无法捕获的错误而崩溃。
现在,我可以通过使用 154 BouncyCastle 实现中的有效类进行手动 OCSP 验证来解决这个问题,如下所示:
等等...
但是,只要我使用 iText7函数( OCSP 客户端参数的PdfSigner.signDetached
传递和实例),就会调用代码并使用“旧”类。OcspClientBouncyCastle
OcspClientBouncyCastle.java
我想我可以通过在我的类路径中包含较旧的(尚未确定的)BouncyCastle jar 文件来解决该错误,但这似乎是一个混乱的解决方案。
我还可以编辑OcspClientBouncyCastle.java
文件并更正错误函数以使用 BouncyCastle 函数的更新实现,但这似乎也有点过头了。
我应该提到我在命令行上的 AIX 环境中工作。所以没有Java开发工具/环境——只是vi
我手动构建我的类路径(在编译和运行时)并使用ksh shell脚本执行我的代码。
所以,毕竟,我想我的问题是:谁能想到 iText 以OcspClientBouncyCastle
这种方式实现该类的合理原因?
我是这个论坛的长期追随者/用户,但这是我第一次发布任何内容。我意识到我的“问题”范围相当广泛,因此对此表示歉意。
附上示例代码:
itext - iText 7:如何构建混合不同字体的段落?
几天来我一直在使用 iText 7 来构建 pdf 文件,不幸的是,iText 7 与 iText 5 非常不同,文档仍然很不完整。
我正在尝试构建一个混合两种字体或两种字体样式的段落(例如:在段落中间有一个粗体文本)
使用 iText 5,这将使用 Chunks 完成:
使用 iText 7,我仍然没有找到方法来做到这一点。
有没有人尝试过使用最新版本的 iText 来做到这一点?
注意:我使用的是 csharp,但 java 也很有用
itext7 - 如何在当前页面位置使用 IText 7 添加 PdfFormField
我们已经能够使用以下 Scala 代码片段在页面上的特定位置添加 PdfFormField。
但是,我们希望能够将它添加到我们插入的页面的最后一个段落之后。(即此字段紧随其后)。有没有一种方法可以推导出正确的矩形,还是有更简单的方法?谢谢