我正在使用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)

任何帮助都赞赏alt text

有帮助吗?

解决方案

您的代码样本没有显示出来,但我怀疑您是在混合线条和文本。您不能在BT和ET之间划清界限。

  1. 开始文字
  2. 绘制一些文字
  3. 结束文字
  4. 画一条线
  5. 开始文字
  6. 绘制一些文字
  7. 结束文字
  8. 绘制更多行
  9. ETC

例如,如果您在1和3之间划出一条线,则会得到上述错误(或类似于此的错误)。

PS:如果不是这样,我们将需要一个示例PDF来诊断问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top