用Java打印-字符太近

用Java打印-字符太近,java,graphics2d,Java,Graphics2d,我正在使用Graphics2D类打印Java应用程序中的一些文本。为了打印它,我实现了接口Printable和类Graphics2D。然后我使用Graphics2D中的drawString方法 问题是有时(取决于我打印的字符串),一些字符相互重叠,字符之间的间距非常大 有人知道为什么吗?提到设置渲染提示。分数度量、抗锯齿或暗示可能有用。您也可以尝试其他字体。提到设置渲染提示。分数度量、抗锯齿或暗示可能有用。您也可以尝试另一种字体。对于此问题的解决方案,请将公共静态属性RaserpInterJob

我正在使用Graphics2D类打印Java应用程序中的一些文本。为了打印它,我实现了接口Printable和类Graphics2D。然后我使用Graphics2D中的drawString方法

问题是有时(取决于我打印的字符串),一些字符相互重叠,字符之间的间距非常大


有人知道为什么吗?

提到设置渲染提示。分数度量、抗锯齿或暗示可能有用。您也可以尝试其他字体。

提到设置渲染提示。分数度量、抗锯齿或暗示可能有用。您也可以尝试另一种字体。

对于此问题的解决方案,请将公共静态属性RaserpInterJob.shapeTextProp设置为true。

对于此问题的解决方案,请将公共静态属性RaserpInterJob.shapeTextProp设置为true。

一个代码示例,也许还有一个屏幕截图,可以帮助我们找到您的答案。至于原因,我猜不同的字符串可能重叠,或者字体可能是奇数。您可以使用:g.setFont(新字体(字符串名称、int mod、int size));我注意到我有“紧逼”。究竟是什么?为了更好的可打印输出,考虑使用报表写入程序库代替Swing。通常情况下,这归结为使用最好的工具来完成这项工作。如果需要的话,您可以轻松地将其与当前的Swing应用程序集成。一个代码示例,或者一个屏幕截图,可以帮助我们找到您的答案。至于原因,我想不同的字符串可能重叠,或者字体可能很奇怪。您可以使用:g.setFont(新字体(字符串名称、int mod、int size));我注意到我有“紧逼”。究竟是什么?为了更好的可打印输出,考虑使用报表写入程序库代替Swing。通常情况下,这归结为使用最好的工具来完成这项工作。如果需要,您可以轻松地将其与当前的Swing应用程序集成。竖起大拇指是因为我忘了渲染,新手错误:(竖起大拇指是因为我忘了渲染,新手错误:(您可以详细说明吗?@Robin-before-printing命令
rasterpreterjob.shapeTextProp=true;
您可以详细说明吗?@Robin-before-printing命令
rasterpreterjob.shapeTextProp=true;