我将使用Java打印API将JPG打印到Epson PictureMate照片打印机。我想让印刷品占满整页。图像可以打印,但在右边缘有八分之一英寸的未打印空间。下面是我使用的代码:
public void printImage(File image) throws Exception {
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(OrientationRequested.REVERSE_LANDSCAPE);
aset.add(MediaSizeName.JAPANESE_POSTCARD);
DocPrintJob printerJob = printService.createPrintJob();
FileInputStream fis = new FileInputStream(image);
Doc doc = new SimpleDoc(fis, DocFlavor.INPUT_STREAM.JPEG, null);
printerJob.print(doc, aset);
fis.close();
}我认为JAPANESE_POSTCARD的大小是正确的,但它似乎是小的4个“x6”打印。我还尝试将MediaPrintableArea设置为4"x6“,但也不起作用。有什么想法吗?
发布于 2012-08-07 07:19:40
我知道在将纸张传递到PrintJob之后,会有一些(潜在的)内部争论,基本上它是在试图验证纸张大小和页边距可以与指定的打印机一起工作(根据经验)。
然而,你可能需要阅读一下http://www.jpedal.org/PDFblog/2009/06/java-printing-page-size-problem/,因为它可能有一些关于如何克服其中一些问题的想法。
至于如何将其应用回PrintService的API则是另一个问题。)
https://stackoverflow.com/questions/11837247
复制相似问题