是否可以使用iText控制PDF布局?

是否可以使用iText控制PDF布局?,pdf,pdf-generation,itext,Pdf,Pdf Generation,Itext,我正在写一些逻辑来构建一个大的PDF文件,我们的用户可以在方便的时候打印。我正在使用Java的iText库(通过Clojure的CLJPDF) 我试图让PDF在每一页上都显示相同的模板形式,但是我似乎找不到任何文档或迹象表明PDF内容“适合一页” 这些表单中的文本略有不同,因此可能每页需要更多或更少的文本行。这意味着内容有可能溢出到下一页,或者太短,使下一页爬到上一页,打破了文档其余部分的“每页一个表单”要求 我试图弄清楚,我的选择是否仅仅是手动检查每页文本的长度,如果我超过n行,可能会手动裁剪

我正在写一些逻辑来构建一个大的PDF文件,我们的用户可以在方便的时候打印。我正在使用Java的iText库(通过Clojure的CLJPDF)

我试图让PDF在每一页上都显示相同的模板形式,但是我似乎找不到任何文档或迹象表明PDF内容“适合一页”

这些表单中的文本略有不同,因此可能每页需要更多或更少的文本行。这意味着内容有可能溢出到下一页,或者太短,使下一页爬到上一页,打破了文档其余部分的“每页一个表单”要求

我试图弄清楚,我的选择是否仅仅是手动检查每页文本的长度,如果我超过n行,可能会手动裁剪,或者PDF格式是否支持一种聪明的方式,将段落+表格+标题都放在一页中。一些UI系统允许您控制溢出的处理方式,从裁剪到调整字体大小,所以我很好奇PDF是否支持这类操作


编辑:为了简单起见,最后使用了分页符,我在写这个问题时没有意识到这一点。

如果你想控制文本占用的空间,例如将其放在一个页面上,方法是创建一个
ColumnText
对象,并在模拟模式下添加内容。如果文本与页面相符,请将其真实添加。如果没有,请使用较小的字体大小。这在将文本片段嵌入AcroForm字段的示例中得到了演示。

您声明pdf支持它。。。我想你是说我选择用来创建pdf的应用程序支持它。正如您所说,有很多方法可以控制从裁剪到字体大小、行距到段落间距的溢出。。。如果将iText指定为解决方案,则可以对所有这些内容进行编程。如果使用xsl fo等替代解决方案,则它们可能位于您选择的产品中。根据你的要求,你需要自己编程。