我正在尝试使用 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) {
}
}
}
}
使用以下设置使用 krysalisbarcode4j 生成的条形码
resolution -> 600
line height -> 15.35mm
编辑一: 这里是两个打印标签的示例,一个使用带有缩放选项的 Photoshop,另一个使用 java 代码