2010-12-21 156 views
0

我正在使用PDFBox从我的用户输入表单之一生成PDF。对于绘制线我使用PDPageContentStream.drawLine和文本PDPageContentStream.drawString。文本工作完美,但在使用drawLine时,当我尝试打印PDF时,出现如附图所示的错误。我的代码看起来像这样使用PDPageContentStream.drawLine的pdfbox错误

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

回答

2

您的代码示例不会表现出来,但我怀疑你是混合线条和文字。你不能在BT和ET之间画线。

  1. 开始文本
  2. 绘制一些文字
  3. 最终文本
  4. 画一条线
  5. 开始文本
  6. 绘制一些文字
  7. 最终文本
  8. 画些线条
  9. etc

例如,如果您在1和3之间画了一条线,则会出现上述错误(或与此类似的错误)。 PS:如果不是这样,我们需要一个样本PDF来诊断问题。

+0

感谢马克,工作!我正在画BT和ET之间的界限,没有找到任何资源说这个。 – mona 2010-12-21 22:22:34