【问题标题】:Lines on printout of iText7 PDF have different length on paperiText7 PDF打印输出的行在纸上的长度不同
【发布时间】:2021-12-07 07:15:04
【问题描述】:

只有我们的一些测试人员报告了 iText7 生成的 PDF 打印输出中所有行的奇怪外观(见图)。生成的 PDF 看起来很完美,缺陷只出现在纸上。大多数用户都没有任何问题。

对于打印机、驱动程序的已知问题或有关如何重现或本地化问题的提示的任何建议,我们将不胜感激。我可以在 iText7 方面做些什么?

PdfCanvas canvas = new PdfCanvas(pdfPage)
canvas.moveTo(x1,y1);
canvas.lineTo(x2,y2);
canvas.closePathStroke();

可在此处找到 PDF:PDF

【问题讨论】:

  • 请分享发生错误的 PDF。此外,您是否检查过那些有该问题的用户是否有一些没有问题的用户没有的共同点,例如相同的 PDF 查看器或相同的打印机,甚至相同的操作系统?
  • 谢谢,我已将 PDF 的链接添加到原始消息中。所有有此问题的用户 - 在 Windows 上使用 Chrome - 安装和使用 Adob​​e Reader 插件没有帮助。 - 他们中的大多数人使用兄弟打印机
  • 好的,我可以用您的示例文档重现该问题,在 Windows 上使用带有 Brother 打印机的 Chrome 我也得到了那些额外的线段,使用 Adob​​e Reader 而不是 Chrome 我没有。但是,查看 PDF 时,我看不到任何会导致该问题的东西。考虑为 Chrome 打开一个问题。此外,虽然您的线条绘制没有任何问题,但请尝试将矩形绘制为矩形(而不是多条线),或者使用填充的细矩形而不是线条,Chrome 打印可能支持其中一个选项。
  • @mkl 买了一台古哥打印机测试。我现在打印的是细长的矩形而不是线条,它可以完美地工作。感谢您的复制和解决方案。 (我可以请您添加您的评论作为答案,以便我接受它。)

标签: java printing itext7


【解决方案1】:

使先前的 cmets 成为实际答案...

我可以用您的示例文档重现该问题:

  • 在 Windows 上使用带有 Brother 打印机的 Chrome,我也得到了那些额外的线段;

  • 我不使用 Adob​​e Reader 而不是 Chrome。

不过,在查看 PDF 时,我没有看到任何会导致该问题的内容。

因此,虽然您的线条画一开始没有任何问题,但我建议将矩形绘制为矩形(而不是多条线),或者使用填充的细矩形而不是线条。我希望 Chrome 打印支持其中一个选项。

你确实评论过:

我现在打印的是细长的矩形而不是线条,而且效果很好。

所以,虽然这个错误从一开始就不是你的,但改变你的代码以不同的方式绘制边框为你解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 1970-01-01
    • 1970-01-01
    • 2018-01-31
    相关资源
    最近更新 更多