在现有pdf中增加表格行高

时间:2017-08-02 14:49:08

标签: pdf itext hummus.js

我想修改现有pdf文档中表格行的高度。我希望在行高增加时,表格下方的内容会自动向下移动。我尝试过使用hummuspdf,但似乎没有明确的方法来做到这一点。有没有办法以编程方式完成我的要求?

1 个答案:

答案 0 :(得分:3)

  

我想修改现有PDF文档中表格行的高度。

你不会喜欢这个答案:技术上可行,但比你想象的要难得多。

这里有两个主要障碍:1)PDF并非设计为可编辑格式。 2)PDF文档没有表格的概念。

要扩展2),PDF本质上包含一系列引用绝对位置的绘图和文本指令。表格只不过是一组文本指令和线条绘制指令,它们恰好代表了一个表格。

这些说明甚至不必在文件中彼此靠近。完全有可能在文件的顶部找到边框的线条笔划,在文件末尾附近只有一条文本指令,最后的指令在中间的某处放置。

除非在创建过程中明确添加了结构(请参阅标记PDF),否则无法保证您以编程方式识别视觉上类似于表格的指令集。

现在,假设你很幸运,你已经设法做到这一点,现在你想要增加桌子高度,并且可能让其余的内容适应新的高度。现在1)发挥作用。由于PDF指令引用绝对坐标,因此您必须重新计算受影响的所有内容:构成边框的线条,表格内的文本,表格下方的所有内容等。

请记住,文档中表格下方的所有内容不一定低于文件中的表格说明。

如果你在这方面取得了成功,我想很多人会对你的解决方案非常感兴趣。

<强> TL; DR:

有一个原因是为什么常见的PDF库中没有这种看似微不足道的功能,而这是因为PDF格式使其成为一个难题。