itextpdf 怎么下划线_iText失败时将带下划线的文本添加到PDF / A文档中

在使用iTextPDF 5.5.13版本时,尝试将带有下划线的文本添加到PDF/A文档时遇到异常。异常信息为'Path construction or drawing operators aren't allowed inside a text object.'。当不使用下划线时,文本可以正常添加。问题出现在`ColumnText.showTextAligned()`方法中,添加下划线的字体导致了异常。
摘要由CSDN通过智能技术生成

将文本添加到现有PDF / A文档时,只要文本没有加下划线,一切正常 . 如果是这样,我得到一个例外:

com.itextpdf.text.exceptions.IllegalPdfSyntaxException: Path construction or drawing operators aren't allowed inside a text object.

at com.itextpdf.text.pdf.PdfContentByte.moveTo(PdfContentByte.java:919)

at com.itextpdf.text.pdf.PdfContentByte.moveTo(PdfContentByte.java:904)

at com.itextpdf.text.pdf.PdfDocument.writeLineToContent(PdfDocument.java:1615)

at com.itextpdf.text.pdf.ColumnText.go(ColumnText.java:1160)

at com.itextpdf.text.pdf.ColumnText.go(ColumnText.java:993)

at com.itextpdf.text.pdf.ColumnText.go(ColumnText.java:981)

at com.itextpdf.text.pdf.ColumnText.showTextAligned(ColumnText.java:1400)

at com.itextpdf.text.pdf.ColumnText.showTextAligned(ColumnText.java:1418)

at de.arbeitsagentur.kiwi.common.drucken.itext.PdfUtils.stampVerworfen(PdfUtils.java:97)

这是代码:

PdfReader reader = new PdfReader(inputStream);

PdfStamper stamp = new PdfStamper(reader, outputStream);

PdfContentByte over = stamp.getOverContent(1);

over.beginText();

BaseFont bf = BaseFont.createFont(FONT, BaseFont.WINANSI, true);

Font font = new Font(bf, 14, Font.BOLD | Font.UNDERLINE);

Phrase phrase = new Phrase("Hello World!", font);

ColumnText.showTextAligned(over, Element.ALIGN_LEFT, phrase, 67, 727, 0);

如果省略Font.UNDERLINE,则没有问题 .

我的iText版本是5.5.13

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值