首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java打印API -空间字符使用单步“信使新”字体打印错误

Java打印API -空间字符使用单步“信使新”字体打印错误
EN

Stack Overflow用户
提问于 2012-01-05 15:16:50
回答 1查看 1.5K关注 0票数 6

让我先描述一下下面的情况:

  • ,有两种印刷品。它们之间唯一的区别是,很少有空格“左边的纸上的字符被圆点代替”。右边是报纸上的人物。
  • 红线表示文本应该对齐的左边框,
  • 绿色曲线表示我打算将它连接到一个列中的所有字符对齐。事实上,绿色曲线应该是一条垂直线。

我希望所有的字符突出显示的绿线打印在一列。

字串的字体是单间距信使新的。但是,空间字符似乎不是以单间隔打印的(参见“虚线”行和开头带有空格字符的行)。

要打印字符串,我在JTextPane组件上使用标准:

代码语言:javascript
运行
复制
PrinterJob pj = PrinterJob.getPrinterJob(); 
pj.setPrintable(myTextPane);
pj.print();

据我所知,实际上调用了myTextPane的paint()方法。因此,预览应该与字符串的打印版本完全相同。

然而,它没有。预览似乎没有曲解单空间字符(见最后一张图片)。预览看起来和我想要打印的文本完全一样。

如何强制JavaPrintServiceAPI正确打印单间距字符,有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-07 16:15:36

我不认为你能在打印API中解决这个问题。

首先,将“绿色”数字后面的每一行划分为一个左(可能为空)的右子字符串。

在您的JTextArea中,使用align对两列HTML表进行对齐,如中所描述的那样。

作为JTextPane的另一种选择,使用GridLayout of JLabel。给出左列RIGHT_ALIGNMENT和右列LEFT_ALIGNMENT

使用JLabel进行呈现的两列JTable可能是第三种选择。详情请参见。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8744836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档