Печать в java через принтер штрих-кода в масштабе
Я пытаюсь распечатать файлы изображений со штрих-кодом, используя 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