在Java中,可以使用Java打印API來調(diào)用打印機(jī)打印圖片。以下是一個簡單的示例代碼,演示如何使用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 {
// 創(chuàng)建打印作業(yè)
PrinterJob printerJob = PrinterJob.getPrinterJob();
// 獲取默認(rèn)打印機(jī)
PrintService defaultPrintService = PrintServiceLookup.lookupDefaultPrintService();
printerJob.setPrintService(defaultPrintService);
// 設(shè)置打印屬性
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;
// 創(chuàng)建打印文檔
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();
}
}
}
```
在上面的示例中,我們首先創(chuàng)建了一個PrinterJob對象,然后獲取默認(rèn)的打印機(jī)(PrintService),接著設(shè)置打印屬性,指定要打印的圖片文件路徑并創(chuàng)建打印文檔(Doc),最后調(diào)用printerJob的print()方法開始打印。請注意,這個示例中使用的圖片格式是JPEG,如果你的圖片格式不是JPEG,需要相應(yīng)地調(diào)整DocFlavor。