我正在开发这个Java应用程序,我正在尝试打印 索引卡上的个别字幕故事板,即每张卡一张图像。
我曾设想过我可以通过横向模式打印来实现这一目标 在标准的4“x 6”索引卡上,但我的打印机,这是一个相当新的 HP Photosmart 5515无法应对它。
这些卡片只能纵向装入打印机,否则就会显示 静止太短。当你选择肖像模式时它打印好了,但它是 一种反直觉的,它浪费在上面和下面的空间 故事板图像,它只占用可用空间的三分之一。
当您告诉机器以横向模式打印时,STILL以纵向模式打印, 但是完全荒谬的保证金设置。
protected void setPageFormat(PrinterJob job) {
PageFormat defaultPageFormat = job.defaultPage();
Paper paper = defaultPageFormat.getPaper();
paper.setImageableArea(0.0D, 0.0D, paper.getWidth(), paper.getHeight());
defaultPageFormat.setPaper(paper);
// sets imageable size to maximum allowable margins
pageFormat = job.validatePage(defaultPageFormat);
}
我使用PrinterJob方法 validatePage 来确保边距正常,它是 这个例程正在返回微小的边距设置。
当我使用A4纸时 索引卡,边距是完全可以的。当我选择风景索引卡 并查看pageFormat对象,它告诉我它是肖像,即使我选择了 风景,即使宽度比高度长。
任何建议,非常感谢