java - 使用 PDPageContentStream.drawLine 时出现 pdfbox 错误

标签 java pdf pdf-generation pdfbox

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

感谢任何帮助alt text

最佳答案

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

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

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

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

关于java - 使用 PDPageContentStream.drawLine 时出现 pdfbox 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4502076/

相关文章:

java - 使用 Selenium 循环链接

java - 如何让非主键列自动递增

java - 无法在hadoop中执行程序

pdf - 在 SSRS 2008 中呈现 SSRS 2005 报告(以 .pdf 格式)时,整个表被推送到下一页

c# - 不使用第 3 方工具从头开始开发 Word 到 PDF 转换器

java - 来自 Java 的 CPU 负载

ios - iBooks 或任何其他应用程序能否查看通过我的 iOS 应用程序下载的 PDF?

r - 为 rstudio 设置默认 PDF 查看器

php - 检测api访问密码保护区

c# - Rotativa - ViewAspdf 在服务器上不工作