3

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

使用 xhtml-printable 方案,即使可成像区域的左上角设置为 x=0 和 y=0,也会以一定的左右边距打印内容(在 PORTRAIT 和 LANDSCAPE 模式下) .

结果如下:

在此处输入图像描述

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

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

你能详细描述你用来打印的完整代码(XHTML)吗?

提前致谢。

______________ 更新 _________________________

所以,我设置:labelPaper.setImageableArea(+50,+50,paperWidth, paperHeight);. 结果在这里: 在此处输入图像描述

为什么???我输入了加值... +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 偏移量。

4

0 回答 0