3

我正在尝试使用 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 代码

在此处输入图像描述

4

0 回答 0