1

我有一个 JTextComponent (JTextArea)。我正在尝试使用新的 1.6 .print() 功能打印其内容。这运作良好。我也在使用以下方法签名以无头/非交互模式执行此操作:

boolean print(MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintService service, PrintRequestAttributeSet attributes, boolean interactive);

这再次打印出我的内容。

但是...我想设置自己的打印参数(即边距大小和纸张大小)..我的是自定义/非标准的,因为这是收据打印机 -

使用这种形式的打印时,有什么方法可以设置/配置这些信息?

我现在遇到的问题是试图让我的内容适合可打印区域 - 我希望有更多的控制权 - 我想使用 PrintJob 和 Document 这可以通过 PageFormat 对象获得 - 但我不知道如何使用上面的方便打印方法做同样的事情。

在此先感谢-A-

4

1 回答 1

2

您需要使用 PrintRequestAttributeSet 属性来指定打印作业的属性。

您创建一个新的实例PrintRequestAttributeSet

PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();

然后,您需要将请求的属性添加到该集合中。在此处查看您可以使用的所有不同属性。

我认为您将需要MediaSizeMediaPrintableArea

于 2010-12-04T11:48:53.717 回答