PDFBOX错误用于使用PDPAGECONTENTSTEREM.DRAWLINE
-
12-10-2019 - |
题
我正在使用PDFBox从我的一个用户输入的表单中生成PDF。为了绘制一条行,我正在使用pdpagecontentstream.drawline和text pdpagecontentstream.drawString。文本工作完美,但是在使用drawline时,当我尝试打印pdf时,我会收到所示图像中所示的错误。我的代码看起来像这样
PDPage page = new PDPage();
release.addPage(page);
contentStream = new PDPageContentStream(release,page);
int margin = 40;
vertHeight -= thisFontHeight * fontSize * 1.05f + 5;
contentStream.drawLine(margin,vertHeight + margin - 5, page.getMediaBox().getWidth() - margin, vertHeight + margin - 5)
任何帮助都赞赏
解决方案
您的代码样本没有显示出来,但我怀疑您是在混合线条和文本。您不能在BT和ET之间划清界限。
- 开始文字
- 绘制一些文字
- 结束文字
- 画一条线
- 开始文字
- 绘制一些文字
- 结束文字
- 绘制更多行
- ETC
例如,如果您在1和3之间划出一条线,则会得到上述错误(或类似于此的错误)。
PS:如果不是这样,我们将需要一个示例PDF来诊断问题。
不隶属于 StackOverflow