在Java中,可以使用Java打印API來調用打印機打印圖片。以下是一個簡單的示例代碼,演示如何使用Java打印API來打印一張圖片:
```java
import javax.print.*;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.MediaSizeName;
import javax.print.attribute.standard.OrientationRequested;
import java.awt.print.PrinterJob;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
public class PrintImage {
public static void main(String[] args) {
String imagePath = "path/to/your/image.jpg";
try {
// 創建打印作業
PrinterJob printerJob = PrinterJob.getPrinterJob();
// 獲取默認打印機
PrintService defaultPrintService = PrintServiceLookup.lookupDefaultPrintService();
printerJob.setPrintService(defaultPrintService);
// 設置打印屬性
PrintRequestAttributeSet attributeSet = new HashPrintRequestAttributeSet();
attributeSet.add(MediaSizeName.ISO_A4);
attributeSet.add(OrientationRequested.PORTRAIT);
// 載入圖片文件
File file = new File(imagePath);
FileInputStream fileInputStream = new FileInputStream(file);
DocFlavor docFlavor = DocFlavor.INPUT_STREAM.JPEG;
// 創建打印文檔
Doc doc = new SimpleDoc(fileInputStream, docFlavor, null);
// 開始打印
printerJob.print(doc, attributeSet);
fileInputStream.close();
} catch (PrintException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在上面的示例中,我們首先創建了一個PrinterJob對象,然后獲取默認的打印機(PrintService),接著設置打印屬性,指定要打印的圖片文件路徑并創建打印文檔(Doc),最后調用printerJob的print()方法開始打印。請注意,這個示例中使用的圖片格式是JPEG,如果你的圖片格式不是JPEG,需要相應地調整DocFlavor。