问题描述
我使用 PyX Python 包创建了一个 PDF 文件,其中显示了一个用红色填充的黑色描边矩形。当我使用 Evince 预览 PDF 文件时,它看起来如预期 (Evince screenshot)。但是,当我使用 Ghostscript 预览它时,要么填充没有延伸到矩形的底部,要么底线太粗 (Ghostscript screenshot)。请问这是为什么?
如果我省略黑色轮廓或省略红色填充,那么 Ghostscript 会正确预览图像。我在 Ubuntu 20.10 下使用 PyX 0.15、Python 3.8.6、Ghostscript 9.52 和 Evince 3.38.0。
这是我的 Python 代码:
#!/usr/bin/env python3
import pyx
canvas = pyx.canvas.canvas()
canvas.draw(pyx.path.rect(2,1,.5,8),[pyx.deco.stroked(),pyx.deco.filled([pyx.color.rgb(1,0)]),pyx.style.linewidth(0.05)])
page = pyx.document.page(canvas,paperformat = pyx.document.paperformat(10,10))
doc = pyx.document.document([page])
doc.writePDFfile('rectangle.pdf')
解决方法
使用 Ghostscript 9.53.3 为我解决了这个问题,所以正如 @wobsta 所说,我将假设这是一个已修复的 Ghostscript 错误。