0

我正在使用 PDFBox 从我的用户输入的表单之一生成 pdf。对于绘制一条线,我使用 PDPageContentStream.drawLine 和文本 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)

任何帮助表示赞赏替代文字

4

1 回答 1

2

您的代码示例没有显示它,但我怀疑您正在混合行和文本。您不得在 BT 和 ET 之间划线。

  1. 开始文本
  2. 画一些文字
  3. 结束文本
  4. 画一条线
  5. 开始文字
  6. 画一些文字
  7. 结束文本
  8. 再画一些线
  9. ETC

例如,如果您在 1 和 3 之间画一条线,您会收到上述错误(或类似错误)。

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

于 2010-12-21T19:54:44.870 回答