gpt4 book ai didi

java - 如何在 itext PdfPTable 中动态添加一行?

转载 作者:行者123 更新时间:2023-12-02 12:20:48 25 4
gpt4 key购买 nike

我必须使用 itext 创建一个 pdf,其中包含一个按钮,单击时应在现有 PdfPTable 中添加一行。我编写了一些代码来创建 PushbuttonField。在尝试设置操作时,我只能找到 PdfAction.javaScript。我无法弄清楚如何在表中添加行。我尝试在线搜索,但我只能找到 PdfAction.javaScript

任何帮助将不胜感激。谢谢。

最佳答案

创建 PDF 文件时,您可以在 Canvas 上绘制文本、线条和形状。当您添加 PdfPTable 时也会发生这种情况。到 Document 。如果您查看 PDF 页面的语法,您将无法识别表格。您将找到文本(单元格的内容)、线条(边框)和形状(背景),但找不到表格。如果表格分布在不同的页面上,则一个页面上的“表格”不会知道它与另一页上的“表格”相关。

当然,您可以通过引入标记内容和创建结构树来向文档添加语义结构,但我们称之为标记PDF的机制不能用于使 PDF “可编辑”,就像可编辑 Word 文档一样。带标签的 PDF(除其他外)用于允许辅助技术向视障人士呈现内容(例如在 PDF/UA 的上下文中)。结构的存在不会改变所有文本、所有线条和所有形状都添加在绝对位置的事实。

这与 HTML 非常不同,HTML 中 <table> 在页面上的位置, <tr> , <th> ,或<td>是在页面渲染时计算的。在 HTML 中,当您调整浏览器窗口大小时,该位置甚至会发生变化。

PDF 中没有这样的东西(除非您使用 XFA (*),这是一种自 ISO 32000-2 以来已弃用的技术)。页面上的所有内容都有固定位置,硬编码到页面的内容流中。更改 PDF 查看器窗口的大小不会改变页面内容的位置。

由于所有这些,您的问题无效。在 PDF 中创建向表格添加行的按钮是不可能的,因为:

  1. 在许多情况下,没有表格:只有一堆处于绝对位置的文本、线条和形状,
  2. 即使存在表格的概念(使用标记 PDF):该表格的视觉表示在创建时是固定的,在使用时无法更改.

您想要使用普通的PDF 查看器,就好像它是PDF 编辑器。由于上面列出的所有原因,这是不可能的。

(*) XFA 由于不同原因已被弃用。最重要的原因之一是缺乏对 XFA 的支持。支持XFA的观众并不多。如果您发布后续问题询问“如何创建 XFA 文档?”,答案将是:“不要这样做!” 创建 XFA 非常复杂,一旦当您成功创建 XFA 表单后,您会发现许多客户将无法使用该文件,因为他们的查看器不支持该格式。

关于java - 如何在 itext PdfPTable 中动态添加一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45807936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com