gpt4 book ai didi

java - PDFBox 打印列表并在需要时添加新页面

转载 作者:行者123 更新时间:2023-12-01 11:15:10 25 4
gpt4 key购买 nike

我目前正在开发一个项目,需要将 ArrayList 中的元素按以下格式打印到 PDF 文件中:

Layout

上面的布局代表一个 DIN A4 页面,其中包含 10 个标签,每个标签有两个元素。

我想浏览包含所有元素的数组列表并将它们打印到标签上。在一页上打印 20 个标签后,如何强制 PDFBox 创建新页面?

另一个问题(更有可能在这里寻找想法)是如何让“跳跃”文本定位良好且动态地工作(没有为这个包含 20 个元素的单个示例布局进行硬编码)。我不想告诉 PDFBox 使用固定的 XY 进行 moveTextPositionByAmount(X,Y) 。我宁愿让用户输入标签数量和标签尺寸,然后让我的程序完成其余的工作。

最佳答案

您可以使用以下公式根据字体大小和字体类型 (PDFont) 获取文本的高度或宽度:

font.getFontDescriptor().getFontBoundingBox().getHeight() / 1000 * fontSize * 0.865

就你的情况而言,似乎因为你只想在 20 个标签后跳转到下一页,所以你可以跟踪你绘制的每个元素,一旦达到 20 个,添加一个新页面并将计数器重置回 0。

希望这有帮助。祝你好运。

关于java - PDFBox 打印列表并在需要时添加新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31916288/

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