通过条形码打印机在java中打印适合规模

时间:2016-04-06 15:17:37

标签: java printing java-print

我正在尝试使用java打印条形码图像文件。我有Label Writer 450 Turbo。标签尺寸为2" X 0.75"英寸,当我从Photoshop打印图像时,缩放到适合选项,每件事都很好。

The barcode example

但是使用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代码

enter image description here

0 个答案:

没有答案