目前我正在使用PHP和TCPDF来创建PDF文件。但现在我遇到了一些问题。
我的PDF分为四列。当我将文本打印到第一列时,我想检查分页符是否会增加x位置并重置y位置。
如何检查某种预渲染是否会出现分页符,以便我可以更改x和y位置,以便它继续在第2,3列等...
我现在认为他们的功能是这样的: How to calculate the height of a MultiCell/writeHTMLCell in TCPDF?
但这可以用来检查是否有分页符?
答案 0 :(得分:0)
想象一下,你有3列 A =>左列,B =>中心柱,C =>右栏
问题#1:最后的Y位置 根据您填充列的顺序(例如文本),您的上一个Y位置始终与您的上一个操作相关,这可能是您的短文本中的一个列,因此如果您需要绘制另一个对象,您将重叠其他对象。因此,在垂直绘制多个对象(列)时,存储Max-Y-Pos非常重要。
问题#2:检查PageBreak
编写一些函数/方法,在哪里传递Text或该列中显示的任何内容,以及列宽。例如函数checkColumnPageBreak(text,columnwidth) 鉴于这两个参数和您当前的Y位置,您应该能够确定您的结果位置是否超过您的Max-Page-Height,大多数是280像素。进入下一页后,您无法写入优先级,因此您可能会被迫将文本分成两个单独的块,其中最后一个块将在写入所有列时写入。
那里有一些功能,也许这就是你需要的:
https://gist.github.com/johnballantyne/4089627
基于您的列是多单元的假设,您所要做的就是传递列宽,单元格高度和文本。