0

我将使用 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",但这也不起作用。有任何想法吗?

4

1 回答 1

0

我知道在您将 Paper 传递给 之后,Paper 会发生一些(潜在的)内部争吵PrintJob,基本上它试图验证纸张尺寸和边距是否可以与指定的打印机一起使用(根据经验)。

但是,您可能会阅读http://www.jpedal.org/PDFblog/2009/06/java-printing-page-size-problem/,因为它可能对如何克服其中一些问题有一些想法。

至于他们如何将其应用回PrintServices API 是另一个问题;)

于 2012-08-06T23:19:40.313 回答