groovy 如何使新的线与打破特定长度线使用pdf框

g0czyy6m  于 7个月前  发布在  其他
关注(0)|答案(1)|浏览(78)

我想让我的输出这样

lorem ipsum dolor
sit amet

我已经试过这段代码了:

contentStream.beginText()
contentStream.setFont(font, 12)
contentStream.moveTextPositionByAmount(80, 160)
contentStream.drawString(addressOffice)
contentStream.newLineAtOffset(-30, -15)
contentStream.drawString(addressOffice)
contentStream.endText()

但这并没有解决我的问题,因为它只是为新行设置了相同的值,如下所示:

lorem ipsum dolor sit amet
lorem ipsum dolor sit amet

addressOffice是值参数。

nwo49xxi

nwo49xxi1#

好了,正如注解中指出的那样,你的问题是在两行代码中重复了参数addressOffice。因此,它将字符串写入两次。下面是你如何在groovy中解决这个问题。

contentStream.beginText()
contentStream.setFont(font, 12)
contentStream.moveTextPositionByAmount(80, 160)
contentStream.drawString(addressOffice[0..10])
contentStream.newLineAtOffset(-30, -15)
contentStream.drawString(addressOffice[12..-1])
contentStream.endText()

范围(即0..10)通过范围的索引分割字符串。0是字符串的开始,10是在“lorem ipsum”之后。下一个范围跳过了空白,并在“dolor sit amet”处开始,-1告诉Groovy我们想要String的结尾。
当然,这些索引与你的输入字符串有很大的联系,通常你会想要一些方法来确定分割点(即10和12)编程,但鉴于提供给我们的信息,我们不能回答你。

相关问题