问题标签 [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 回答
1365 浏览

pdf - iText - 仅加密嵌入文件

如PDF 32000-1:2008第 7.6.1 节所述,我想创建一个未加密的 pdf 文件,其中包含 iText 的加密嵌入文件:

从 PDF 1.5 开始,嵌入文件可以在其他未加密的文档中加密

但是,以下示例 (iText 7.0.1) 会生成一个带有未加密嵌入文件流的 PDF 文件(关闭压缩以更好地分析生成的 PDF 文件):

此结果似乎与规范说明相反:

如果流的内容嵌入在 PDF 文件中(参见 7.11.4,“嵌入的文件流”),它们应像文件中的任何其他流一样被加密

上述示例生成的 pdf 文件包含 CF 字典中加密嵌入文件流的正确条目:

规范的表 20 指出:

加密嵌入文件时,一致性写入器应尊重此值,但具有自己的加密过滤器说明符的嵌入文件流除外。

在我们的例子中,流没有自己的 CF 说明符,因此应该使用 AESV2 进行加密。但是,在我们的示例中,流未加密:

这导致以下问题:

  1. 这是 iText 中的错误还是我误解了 PDF 规范?
  2. 如何使用 iText 创建带有加密嵌入文件的未加密 pdf 文件?
  3. 如果这(还)不可能,是否有任何其他免费库或命令行工具可以做到这一点?

PS:Acrobat Reader DC 和 PDF-XChange Viewer 2.5 要求输入密码才能打开附件,而(不符合标准的)阅读器(如 evince)可以毫无问题地打开附件。但这不是我的问题。我的问题不是关于读者行为和可能的道德规范,而是关于 pdf 文件本身及其对规范的遵守情况。

0 投票
0 回答
46 浏览

pdf - Itext7替换文本根本不起作用

我正在尝试评估 itext7,所以我有一个现有的 pdf,我想替换其中的一些文本,但这不起作用,下面是我的代码;我会很感激一些帮助。谢谢

0 投票
1 回答
660 浏览

pdf-generation - 如何在 iText 中为 FormFields 设置行距?

iText 7 表单字段中的默认行距似乎是 2 或 1.5,但我真的很想删除行距。setMultipliedLeading(..)通常,我通过调用一个Paragraph对象来设置行距,但它也不PdfAcroForm是它的子类,PdfTextFormField没有这个方法,并且只有字符串可以设置为表单字段值。如何设置行距的值?提前致谢。

0 投票
1 回答
593 浏览

pdf-generation - 如何在 iText 7 中设置 Tab 键顺序?

我想知道如何通过代码在 iText 7 中设置 Tab 键顺序(出于可访问性目的)。在 Adob​​e Acrobat 中,我可以打开页面属性(见图)并选择标签顺序。现在,iText 7 可以正确加载和保存现有属性,但我无法找到使用代码实际设置属性的方法。有谁知道如何做到这一点?

页面属性

0 投票
1 回答
1055 浏览

pdf - iText 7:PdfDictionary 过早发布

对于某些 PDF,我在刷新标签结构时看到了 NPE。iText 7.0.2-SNAPSHOT 会出现此问题。iText 5.5.10 可以很好地处理这些文件。NPE 被抛出,PdfDictionary.get(PdfName key, boolean asDirect)因为映射为空。该类中的地图唯一可以变为 null 的时间releaseContent()是被调用的时间。

由于releaseContent()' 的唯一目的是 - 据我所知 - 释放内存,因此我测试了将其更改为空方法时会发生什么。结果是文件似乎被正常处理。没有更多的例外。是一个示例文件。

释放后只有少数对象被访问。对于上面的示例文件,这也可以解决问题:

我将把为什么会发生这种情况的分析留给那些比我更有知识的人。我不知道这是损坏的 PDF 还是 iText7 中的错误的结果。

输入输出

我在用 iText 7.0.2-SNAPSHOT 做什么:

输出是什么:

0 投票
1 回答
465 浏览

java - iText7 Java 添加文本问题

我正在使用 iText 7 复制 pdf 页面并对这些页面进行编号。所以我不需要手动给它们编号。但是生成的pdf文件中的数字有问题。这是它的样子:

问题图片

我已经考虑了好几个小时,仍然无法弄清楚。

我的代码:

控制台输出:

p>

编辑:我在 Dropbox 上上传了一个模拟文档和一个编辑过的文档,这里是: 模拟文档

编辑的模拟文档

0 投票
1 回答
1570 浏览

c# - 使用 iText 7 将文本环绕在单元格中的图像周围

我有一个带表格的 PDF 文档。代码如下:

实际上输出是这样的:

在此处输入图像描述

我想要实现的是:

在此处输入图像描述

我已经阅读了 iText 5 的几个示例,并且都指向使用此属性:

image.setAlignment(Image.LEFT | Image.TEXTWRAP);

问题是它似乎不适用于 iText 7。

任何帮助,将不胜感激。

0 投票
2 回答
419 浏览

itext7 - itext 7 制表符顺序 - 失败

应该在 iText7 中演示支持 UA 并作为 Jump Start 教程的一部分提供的文件未能通过可访问性完整检查。此测试在 Adob​​e Acrobat Pro 中可用。

我测试了以下文件: cmp_quick_brown_fox_PDFUA.pdf 和 cmp_united_states_PDFA-3a.pdf

可以使用什么 API 使它们合规?有解决这个问题的计划吗?谢谢你的帮助。

Adobe Acrobat Pro 演示的此错误

还有这里

0 投票
0 回答
665 浏览

java - Itext 7 中的非 ASCII 字体

我在 Linux Mint 17.1 之上使用 itext-7.0.1
我正在尝试将非 ASCII 文本(希伯来语)添加到 PdfDocument,但文本中缺少所有希伯来语字母:

总结上面的代码:所有 ASCII 文本(英文和数字)都正确写入 PDF,但希伯来字母 ( entity.getName()) 写为空行。上面的字体在文字处理器中正确输入,但是为了验证这一点,我尝试了其他导致相同结果的字体。

在 itext-5 中有很多内容。我应该切换到 itext-5 而不是 7 吗?

0 投票
0 回答
2144 浏览

itext - iText 5 到 iText 7 代码转换。列表类型 AcroFields

我有以下用于 pdf 修改的 iText 5 示例,

我正在尝试转换为 iText 7,但我很难转换函数的最后一部分,其中列表类型字段值和简单的 Acrofield 值被插入到文档中。

:------------------------------------------------ --------------

提前感谢您的帮助。