打印机兄弟QL-560使用java的错误保证金

时间:2012-05-06 21:30:29

标签: java printing margin

使用java的Brother QL-560存在边缘问题。 我已经测试了xhtml-printable 和pdf-renderer解决方案。

使用xhtml-printable解决方案,即使可成像区域的左上角设置为x = 0且y = 0,内容也会打印出一定数量的左边距和上边距(在PORTRAIT和LANDSCAPE模式)。

结果如下:

enter image description here

已插入黑色边框以突出显示边距问题。 用于打印的java代码与本文中显示的相同,但是用Java转换。

使用第二个解决方案,我在XHTML代码中生成PDF文件时出现问题。具体来说,首先我使用iText库生成PDF文件,然后使用PDF Renderer库加载并打印此文件(通过PDFPrintPage类,调用“print”方法)。在这种情况下,生成的页面的大小太大,内容超出了纸张。

您能否详细描述您用于打印的完整代码(XHTML)?

提前致谢。

______________更新_________________________

所以,我设置:labelPaper.setImageableArea(+50,+50,paperWidth, paperHeight);。 结果如下: enter image description here

为什么???我把加值... +50(x)和+50(y)...也许为什么我使用PORTRAIT? 这是我的代码:

public void print(PrintService service){

        try{
            float paperWidth = 62.0f;
            float paperHeight = 62.0f;
            paperWidth *= 2.83;
            paperHeight *= 2.83;

            //val printJob = PrinterJob.getPrinterJob
            PrinterJob printJob = PrinterJob.getPrinterJob();
            printJob.setPrintService(service);

            PageFormat pageFormat = printJob.defaultPage();
            pageFormat.setOrientation(PageFormat.PORTRAIT);
            Paper labelPaper = pageFormat.getPaper();
            labelPaper.setSize(paperWidth, paperHeight);
            labelPaper.setImageableArea(+50,+50,paperWidth, paperHeight);
            pageFormat.setPaper(labelPaper);

            Book book = new Book();
            book.append(this.createRender(), pageFormat);
            printJob.setPageable(book);

            PrintRequestAttributeSet attributeSet = new HashPrintRequestAttributeSet();
            attributeSet.add(new PrinterResolution(300, 300, ResolutionSyntax.DPI));
            printJob.print(attributeSet);

我也有一点余地......为什么?我想要0x& 0y偏移。

0 个答案:

没有答案