我必须使用包含按钮的itext创建一个pdf,点击时应该在现有的PdfPTable
中添加一行。我写了一些代码来创建PushbuttonField
。在尝试设置操作时,我只能找到PdfAction.javaScript
。我无法弄清楚如何在表中添加行。我尝试在线搜索,但我能找到的只有PdfAction.javaScript
非常感谢任何帮助。谢谢。
答案 0 :(得分:1)
创建PDF文件时,可以在画布上绘制文本,线条和形状。这也是您向PdfPTable
添加Document
时发生的情况。如果查看PDF页面的语法,您将无法识别表格。您将找到文本(单元格的内容),线条(边框)和形状(背景),但您找不到表格。如果表格分布在不同的页面上,那么"表格#34;在一页上不知道它与"表"在另一页上。
当然,您可以通过引入标记内容和创建结构树来为文档添加语义结构,但我们称之为Tagged PDF的机制可以&#39 ;用于制作PDF"可编辑的"与Word文档可编辑的方式相同。标记PDF(以及其他)用于允许辅助技术向视障者呈现内容(例如,在PDF / UA的背景下)。结构的存在并没有改变所有文本,所有行和所有形状都添加在绝对位置的事实。
这与HTML在页面呈现时计算<table>
,<tr>
,<th>
或<td>
页面上的位置非常不同。在HTML中,当您调整浏览器窗口大小时,此位置甚至可以更改。
PDF中没有这样的东西(除非你使用XFA(*),这是一种自ISO 32000-2以来不推荐使用的技术)。页面上的所有内容都有固定的位置,硬编码到页面的内容流中。更改PDF查看器窗口的大小不会改变页面内容的位置。
由于所有这一切,您的问题无效。无法在PDF中创建向表中添加行的按钮,因为:
您希望使用普通的 PDF查看器,就像它是 PDF编辑器一样。由于上面列出的所有原因,这是不可能的。
(*)XFA因不同原因而被弃用。其中一个最重要的原因是缺乏对XFA的支持。没有很多观众支持XFA。如果您要发布一个后续问题,询问*&#34;我如何创建XFA文档?&#34;,答案是:&#34;不要这样做!&# 34; 创建XFA非常复杂,一旦您成功创建了XFA表单,您就会发现许多客户都无法使用该文件,因为他们的查看者不支持该格式。