下面是程序运行时的截图。
下面是运行postscript文件时的截图。
为什么某些文本的位置 (STANDARD PENETRATION TEST
和 GEOLOGICAL DESCRIPTION
)在程序中和在postscript中看起来不一样?所有这些都是用类似的函数创建的。我真的不明白为什么会出现这种情况?
对了,下面是将画布导出到postscript文件的函数。不知道一些文字的位置差异是否与这个函数的参数有关。
def export_canvas(self):
self.postscript(
file="output.ps",
colormode="color",
height=self.canvasy(self.winfo_height()),
width=self.canvasx(self.winfo_width())
)
我认为有三个可能的原因。
第一,应用程序生成的PostScript程序与预期的结果不一致。这将是PostScript生成器的一个错误。
第二,你使用的PostScript解释器有一个错误,错误地渲染PostScript程序,导致不同的结果。这就是PostScript解释器中的一个错误,你可以用不同的PostScript解释器来测试。你没有说你是用什么来渲染PostScript的。
第三,原始应用程序中的显示不正确。这是个很大的可能性,但是在PostScript渲染的输出中,文字看起来是居中的,而在截图中却不是,也不像是左对齐的。这让我不禁怀疑,如果文字在白色空间中是要居中的,但显示是不正确的。大概你创建了这个文档,所以你会知道哪个是预期的结果。
两者之间还有其他微小的排版差异;例如,LITHOLOGY中的 "Y "在屏幕截图中与表格线相交,而在渲染版本中却没有。
您大概知道预期的结果是什么,所以您可以确定这是否是预期的行为。你可以尝试不同的PostScript解释器,看看它是否会以不同的方式渲染PostScript程序。如果是这样,那么很可能是你最初使用的PostScript解释器出现了错误。如果没有,那就是生成程序中的某种问题,无论是在显示还是在创建PostScript的过程中。然后你可以向相关的维护者提交一个错误报告。