问题标签 [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.

0 投票
1 回答
6301 浏览

java - 什么替换了 iText 7 中的块?

尝试在 java 中使用 iText 7。想让段落加粗。显然,在早期版本中,这是通过分别格式化“块”然后将它们添加到段落中来完成的。显然 iText 7 中不存在“块”。iText 7 的程序是什么?

0 投票
2 回答
3654 浏览

java - iText 7核心中缺少xmlworker

我正在尝试在 Java 中使用 iText 7。想要将 HTML/XHTML 转换为 PDF。

显然xmlworker.jar不存在于iText 7 core.

iText 7 的替代品是什么?

有什么解决办法吗?

0 投票
1 回答
2775 浏览

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?

0 投票
1 回答
2222 浏览

itext7 - iText 7 Hello World 示例因 NoClassDefFoundError 而失败

处理 itext 7 代码的第一个示例会在第 4 步导致 NoClassDefFoundError。如果有人能指出错误的来源会有所帮助吗?

这会产生

代码在 Groovy 下运行,这就是它稍微稀疏的原因 IO、内核和布局 jar 被加载。

0 投票
1 回答
584 浏览

itext7 - itext 7 中的页面大小

iText 7 中 PageSize 的静态值仅适用于 ISO 'A' 尺寸,而 5 有大约 52 个值,包括有些古怪的 Quarto 和 Penguin 尺寸。

这将是一种永久的状态,还是会在某个时候被包括在内?我知道我可以制作一个我想要的大小的矩形,但这有助于形成一直丢失这张纸......

0 投票
1 回答
472 浏览

itext7 - 如何使用 itext 7 确定列号

我使用 itext 7 及其 ColumnDocumentRenderer 创建了文档。我想将一些文本强制放入最后一列。“最后一列”是指例如,如果我有一个由 ColumnDocumentRenderer 定义的具有 3 列的页面,但我只有一列文本,我仍然希望第 3 列包含我的强制值。所以我想(假设一个解决方案,其他人赞赏)我需要机制来知道我所在的列号并强制分列。由于 StackOverflow 希望以问题的形式出现,(a)这些机制是什么?(b) 有哪些替代方法?

问题如何使用 iText 将文本插入点跳过到下一列?显然提出了类似的问题,但显然使用的是早期版本的 itext;我的没有我能找到的 ColumnText。

提前感谢您的帮助。

0 投票
0 回答
927 浏览

java - iText7 引用旧的 BouncyCastle 库

好的,我正在尝试执行针对 iText (7) 和 BouncyCastle (154) jar 文件编译的测试 Java 程序。一切正常运行,直到我在调用 signDetached 函数时尝试添加 OCSP 响应。

我的代码基本上是来自 iText 网站的这段代码:

http://developers.itextpdf.com/examples/security/digital-signatures-white-paper/digital-signatures-chapter-3#855-c3_07_signwithocsp.java

在必要时替换我的证书和密码详细信息。一切都可以编译,但是当我运行它时,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传递和实例),就会调用代码并使用“旧”类。OcspClientBouncyCastleOcspClientBouncyCastle.java

我想我可以通过在我的类路径中包含较旧的(尚未确定的)BouncyCastle jar 文件来解决该错误,但这似乎是一个混乱的解决方案。

我还可以编辑OcspClientBouncyCastle.java文件并更正错误函数以使用 BouncyCastle 函数的更新实现,但这似乎也有点过头了。

我应该提到我在命令行上的 AIX 环境中工作。所以没有Java开发工具/环境——只是vi我手动构建我的类路径(在编译和运行时)并使用ksh shell脚本执行我的代码。

所以,毕竟,我想我的问题是:谁能想到 iText 以OcspClientBouncyCastle这种方式实现该类的合理原因?

我是这个论坛的长期追随者/用户,但这是我第一次发布任何内容。我意识到我的“问题”范围相当广泛,因此对此表示歉意。

附上示例代码:

0 投票
1 回答
15478 浏览

itext - iText 7:如何构建混合不同字体的段落?

几天来我一直在使用 iText 7 来构建 pdf 文件,不幸的是,iText 7 与 iText 5 非常不同,文档仍然很不完整。

我正在尝试构建一个混合两种字体或两种字体样式的段落(例如:在段落中间有一个粗体文本)

使用 iText 5,这将使用 Chunks 完成:

使用 iText 7,我仍然没有找到方法来做到这一点。

有没有人尝试过使用最新版本的 iText 来做到这一点?

注意:我使用的是 csharp,但 java 也很有用

0 投票
1 回答
1542 浏览

itext7 - 如何在当前页面位置使用 IText 7 添加 PdfFormField

我们已经能够使用以下 Scala 代码片段在页面上的特定位置添加 PdfFormField。

但是,我们希望能够将它添加到我们插入的页面的最后一个段落之后。(即此字段紧随其后)。有没有一种方法可以推导出正确的矩形,还是有更简单的方法?谢谢

0 投票
1 回答
1578 浏览

java - 在 iText 7 中使用图像作为水印

iText 7刚刚于 2016 年 5 月发布,虽然其中一些教程很有帮助,但一些更高级的功能却很难理解。这个页面有一个如何使用文本作为水印的示例(大约在页面下方的 90%),但我不知道如何使用图像作为水印,我真的不知道从哪里开始随着新版本。有人知道如何在 iText 7 中使用图像作为水印吗?任何想法从哪里开始?