我正在尝试使用java打印条形码图像文件。我有Label Writer 450 Turbo。标签尺寸为2" X 0.75"英寸,当我从Photoshop打印图像时,缩放到适合选项,每件事都很好。
但是使用java代码时,它不会以正确的方式缩放图像,因此条形码阅读器无法再读取它。
public class print {
public static void main(String[] str) {
// Input the file
FileInputStream textStream = null;
try {
textStream = new FileInputStream("barcode.jpg");
} catch (FileNotFoundException exp) {
return;
}
DocFlavor myFormat = DocFlavor.INPUT_STREAM.JPEG;
PageFormat format = new PageFormat();
format.setOrientation(PageFormat.PORTRAIT);
Doc myDoc = new SimpleDoc(textStream, myFormat, null);
// Build a set of attributes
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
// aset.add(new Copies(2));
aset.add(new MediaPrintableArea(0, 0, 0.75f, 2f,
MediaPrintableArea.INCH));
aset.add(PrintQuality.HIGH);
aset.add(new PrinterResolution(300, 600, PrinterResolution.DPI));
aset.add(OrientationRequested.LANDSCAPE);
PrintService[] services = PrintServiceLookup.lookupPrintServices(
myFormat, null);
if (services.length > 0) {
DocPrintJob job = services[5].createPrintJob();
for (Attribute temp : services[5].getAttributes().toArray())
System.out.println(temp.getName());
try {
job.print(myDoc, aset);
} catch (PrintException pe) {
}
}
}
}
使用krysalis barcode4j使用以下设置生成的条形码
resolution -> 600
line height -> 15.35mm
编辑一个:这里是两个打印标签的示例,其中一个使用带缩放以适合选项的Photoshop,另一个使用java代码