0

Java 印刷 API を使用して、JPG を Epson PictureMate フォト プリンターに印刷します。ページ全体を印刷したい。画像は印刷されますが、右端に 1/8 インチの未印刷スペースがあります。私が使用しているコードは次のとおりです。

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インチ×6インチのプリントには小さいようです. また、4"x6" に設定しようとしMediaPrintableAreaましたが、それもうまくいきませんでした。何か案は?

4

1 に答える 1

0

Paper を に渡した後に発生する (潜在的な) 内部ラングリングがあることはわかっていますPrintJob。基本的には、指定されたプリンターで用紙サイズと余白が機能することを検証しようとしています (経験から)。

ただし、http://www.jpedal.org/PDFblog/2009/06/java-printing-page-size-problem/を読むと、それらのいくつかを克服する方法についていくつかのアイデアが得られる可能性があります。

それらをPrintServices API に適用する方法については、別の問題です ;)

于 2012-08-06T23:19:40.313 に答える