由于需要做一个不干胶标签纸的打印程序,所以用到了PrintSupport。在这里简单记录下,以备自己查看。
一开始只是实现了标签打印功能,后来发现每次修改了标签都要打印出来看效果(节约一些标签纸,因为是特殊印刷的标签纸,数量有限),想到了用PrintSupport中的QPrintPreviewWidget或者QPrintPreviewDialog来实现预览。
不干胶标签的实际尺寸为100x80mm,不干胶标签的载体为103mm宽的纸带,标签在载体上的位置约为向右2mm,向下1mm。于是paper定为(paperWidth,paperHeight) = (103,83),page定为(pageWidth,pageHeight) = (100,80)。leftMarginMM = 2, topMarginMM = 1, rightMarginMM = 1, bottomMarginMM = 2。
printer = new QPrinter();
printer->setPrinterName("ZDesigner ZT510-300dpi ZPL");
printer->setOrientation(QPrinter::Portrait);//设置页面方向 纵向
printer->setPaperSize(QPrinter::Custom);
/*
* 根据文档中的描述,这里不应该注释掉,
* 另外需要printer->setPageSizeMM(QSizeF(pageWidth, pageHeight));。
* 但是这样的实际效果是不正确的,我觉得文档可能有些问题。改成现在这样实际效果是正确的。
* */
//printer->setPaperSize(QSizeF(paperWidthMM, paperHeightMM), QPrinter::Millimeter);
printer->setPageSizeMM(QSizeF(paperWidthMM, paperHeightMM));
printer