我正在使用 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)
感谢任何帮助
最佳答案
您的代码示例没有显示它,但我怀疑您正在混合线条和文本。您不得在 BT 和 ET 之间画线。
- 开始文本
- 绘制一些文字
- 结束文字
- 画一条线
- 开始文本
- 绘制一些文字
- 结束文字
- 再画一些线
- 等等
例如,如果您在 1 和 3 之间画一条线,您会收到上述错误(或类似错误)。
PS:如果不是这样,我们需要一个示例 PDF 来诊断问题。
关于java - 使用 PDPageContentStream.drawLine 时出现 pdfbox 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4502076/