使用新的 java 1.6 JTextComponent print() 时如何更改打印参数
我有一个 JTextComponent (JTextArea)。我正在尝试使用新的 1.6 .print() 功能打印其内容。这运作良好。我还使用以下方法签名在无头/非交互模式下执行此操作:
boolean print(MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintService 服务, PrintRequestAttributeSet 属性, boolean Interactive);
这再次打印出我的内容。
但是...我想设置自己的打印参数(即页边距大小和纸张大小)..我的参数是自定义/非标准的,因为这是用于收据打印机的 -
使用时有什么方法可以设置/配置此信息这种形式的印刷?
我现在遇到的问题是试图让我的内容适合可打印区域 - 我希望有更多的控制权 - 我想使用 PrintJob 和 Document 这可以通过 PageFormat 对象获得 - 但我不知道如何使用上面的便捷打印方法执行相同的操作。
提前致谢 -一个-
I have a JTextComponent (JTextArea). I am trying to print its contents with using the new 1.6 .print() functionality. This is working well. I am also doing this in a headless/non-interactive mode using the following method signature:
boolean print(MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintService service, PrintRequestAttributeSet attributes, boolean interactive);
Again this prints out my content.
HOWEVER... I would like to set my own print parameters (namely Margin size and Paper Size)..Mine are custom/non-standard as this is for a receipt printer -
Is there any way to set/configure this information when using this form of printing ?
The problem I am having now is trying to get my content to fit the printable area - and I would love to have more control - I guess using PrintJob and Document this would be available through the PageFormat object - But I don't know how to do same using the convience print method above.
Thanks in advance
-A-
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要使用 PrintRequestAttributeSet 属性来指定打印作业的属性。
您创建一个
PrintRequestAttributeSet
的新实例,然后需要将请求的属性添加到该集合中。 查看此处了解所有您可以使用不同的属性。
我认为您需要 MediaSize 和 MediaPrintableArea
You need to use the PrintRequestAttributeSet attributes to specify the attributes of the print job.
You create a new instance of the
PrintRequestAttributeSet
You then need to add the attributes for your request to that set. Take a look here for all the different attributes that you can use.
I think you will need MediaSize and MediaPrintableArea