精华内容
下载资源
问答
  • 后来发现每次修改了标签都要打印出来看效果(节约一些标签纸,因为是特殊印刷的标签纸,数量有限),想到了用PrintSupport中的QPrintPreviewWidget或者QPrintPreviewDialog来实现预览。 不干胶标签的实际尺寸为100x...

    由于需要做一个不干胶标签纸的打印程序,所以用到了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->setPageMargins(leftMarginMM, topMarginMM, rightMarginMM, bottomMarginMM, QPrinter::Millimeter);
        if (preview != Q_NULLPTR)
            delete preview;
        preview = new QPrintPreviewWidget(printer, this);
        ui->horizontalLayout->addWidget(preview);
        connect(preview, SIGNAL(paintRequested(QPrinter*)), this, SLOT(on_previewPressed(QPrinter*)));
        preview->updatePreview();

    下面是预览的实现:

    void WndPreview::on_previewPressed(QPrinter *printer)
    {
        QPainter painter;
        painter.begin(printer);
        QRectF pageRect = printer->pageRect(QPrinter::Millimeter);
        int widthPixle = int(printer->resolution() * (pageRect.width() / 25.4));
        int heightPixle = int(printer->resolution() * (pageRect.height() / 25.4));
        painter.setViewport(0,0,widthPixle,heightPixle);
        QPen penGreen(QColor(0,255,0));
        painter.setPen(penGreen);
        painter.drawRoundedRect(0,0,widthPixle,heightPixle,30,30);
        QPen penBlack(QColor(0,0,0));
        painter.setPen(penBlack);
        QFont font;
        font.setFamily("Bahnschrift");
        font.setPixelSize(16);
        painter.setFont(font);
        painter.drawText(QPoint(0,50), "Sample");
        font.setPointSize(16);
        painter.setFont(font);
        painter.drawText(QPoint(0,100), "Sample");
        painter.end();
    }

    打印效果图
    绿色的线表示不干胶标签。

    展开全文
  • 最后将CPreviewView::m_pPreviewDC作为C视图OnDraw的CDC*参数传入,这样,虽然调用的是C视图的OnDraw函数,实际上却显示在了CPreviewView视图中,起到了“预览”的效果。在点击预览框架工具栏上的“打印...”按钮后,...
  • 我的办法就是用代码来控制打印预览控件中的水平来垂直滚动条的位置,间接实现用鼠标直接拖动滚动条一样的效果。 在实现这一功能的过程中,最大的困难是打印预览控件并没有让程序员直接调用的关于滚动条的方法或...
  • LODOP中的打印设计是辅助进行开发的,实际打印效果应以预览为准,很多效果都是在设计界面显示不出来,或设计和预览界面有差异。例如add_print_text文本的字间距、行间距,旋转,还有允许标点溢出英文拆分样式:...

    LODOP中的打印设计是辅助进行开发的,实际打印效果应以预览为准,很多效果都是在设计界面显示不出来,或设计和预览界面有差异。例如add_print_text文本的字间距、行间距,旋转,还有允许标点溢出和英文拆分样式:Lodop纯文本英文-等符号自动换行问题 

    还有一些超文本样式可能也会出现打印设计界面与预览界面有差异的情况。例如,某些调用的I引擎不同造成默认样式不同:Lodop中特殊符号¥打印设计和预览不同

    Lodop除了可以用超文本的table表格,还可以用线条和矩形框制作表格,可以在打印设计里直接插入然后调整,也可以直接在代码里计算间隔等,把线条的上边距等制作变量,循环赋值,直接在代码里写这种由线条打印项组成的表格。
    在直接用打印设计进行设计时候,例如矩形框,可能会出现打印设计看着挺好,预览表格(矩形)线重合的部分加粗了,打印设计界面明明是重合的,这时候应以预览为准,打印设计只是辅助设计的,不能代表最终效果,而且重合的矩形的重合可以在代码里累加看出来是否重合,打印设计看似重合,但如果生成代码可以看出并不是完全重合,所以造成预览矩形与矩形交界处出现加粗边框。(不是真的重合造成的)

    打印设计与预览不同,以预览效果为准,以数值累加或预览为准。
    如图所示,虽然打印设计显示都是细线似乎重合的很好,但是实际预览发现变粗了生成代码后,发现数值少了,图中是一个400*247的大矩形,里面套了四个小矩形,最后剩余的部分是大矩形与最后的空白。
    大矩形的上边距要和第一个矩形的上边距融合,需要设置相同的数值,也就是都是top顶边距为15,实际是都重合了,这样设置是正常的。
    第二个小矩形的下边要与第二个小矩形的上边重合,这个地方如果在打印设计界面调整到看上去重合的位置,实际生成代码和预览会发现是74,不等于第一个小矩形top上边距和第一个小矩形的height高度之和,所以预览就是显示的粗线条,因为没有重合,是两个边的合计值。
    所以调整的时候向下一点,会发现打印设计显示粗了,而预览却正常了,生成代码,正好是等于第一个小矩形top上边距和第一个小矩形的height高度之和
    因此,用Lodop的矩形设计,以数值和预览为准。

    代码:

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>WEB打印控件LODOP</title>
    <script language="javascript" src="LodopFuncs.js"></script>
    </head>
    <body>
    <a href="javascript:prn1_dg()">打印设计矩形重合 预览不正常</a><br>
    <a href="javascript:prn2_dg()">打印设计矩形重合 预览正常</a>
    <script language="javascript" type="text/javascript">   
            var LODOP; //声明为全局变量 
        function prn1_dg() {//打印设计多个矩形重合正常,预览不正常
            LODOP=getLodop(); 
            LODOP.PRINT_INIT("");
            LODOP.ADD_PRINT_RECT(15,62,400,247,0,1);
            LODOP.ADD_PRINT_RECT(15,62,400,60,0,1);
            LODOP.ADD_PRINT_RECT(74,62,400,60,0,1);
            LODOP.ADD_PRINT_RECT(133,62,200,60,0,1);
            LODOP.ADD_PRINT_RECT(133,262,200,60,0,1);
            //LODOP.PREVIEW();
            LODOP.PRINT_DESIGN();        
        };
        function prn2_dg() {//打印设计多个矩形重合不正常,预览正常
            LODOP=getLodop(); 
            LODOP.PRINT_INIT("");
            LODOP.ADD_PRINT_RECT(15,62,400,247,0,1);//最外层大矩形,top顶边距15,宽度width为400
            LODOP.ADD_PRINT_RECT(15,62,400,60,0,1);
            LODOP.ADD_PRINT_RECT(75,62,400,60,0,1);//15+60=75 上一个矩形的top+上一个矩形的height
            LODOP.ADD_PRINT_RECT(135,62,200,60,0,1);//15+60+60=135 
            //上一个矩形的top+上一个矩形的height=75+60     //上上个矩形的top+上上个矩形的height+上个矩形的height=15+60+60
            LODOP.ADD_PRINT_RECT(135,262,200,60,0,1);//62+200=262 最大矩形width-左侧矩形的left-左侧矩形的width
            //LODOP.PREVIEW();
            LODOP.PRINT_DESIGN();        
        };
    </script> 
    </body>

     

    图片:

     

    转载于:https://www.cnblogs.com/huaxie/p/10024973.html

    展开全文
  • 为了能在打印前看到效果,节省点测试纸张,在上次的蓝牙打印机打印小票的功能上...(因小票的字体间距与iOS中的字体间距不一样,所以预览效果与实际效果有些许偏差,预览作为辅助布局用,最终以实际打印效果为准)
  • Lodop提供了打印设计可以方便开发人员的开发,预览是打印的反显,可以显示出打印效果,但是在开发时,还是要用虚拟打印机实际测试,(win7以上系统可能自带xps虚拟打印机 Microsoft XPS Document Writer,或网上搜索...

    Lodop提供了打印设计可以方便开发人员的开发,预览是打印的反显,可以显示出打印效果,但是在开发时,还是要用虚拟打印机实际测试,(win7以上系统可能自带xps虚拟打印机 Microsoft XPS Document Writer,或网上搜索下载安装pdf虚拟打印机)。

    例如,设计加入虚线样式,打印设计和预览都是虚线,打印出来却是实线,这是由于虚线需要把线宽设置为0。
    非实线的线宽为0,如果想打印虚线,需要设置线宽为0,否则打印出来还会是实线。

    此图片用的以前做的,所以前面有个水平直线的。Lodop打印直线可参考本博客其他博文:

    转载于:https://www.cnblogs.com/huaxie/p/9711631.html

    展开全文
  • 引用MS提供的RichTextBox打印代码,当打印区域宽和高设置成RichTextBox的宽和高时打印预览出来的排版效果和实际在RichTextBox中的排版效果不一致。会出现下一行的第一个字跑到上一行末尾,难道RichTextBox打印...

    引用MS提供的RichTextBox打印代码,当打印区域宽和高设置成RichTextBox的宽和高时打印预览出来的排版效果和实际在RichTextBox中的排版效果不一致。会出现下一行的第一个字跑到上一行末尾,难道RichTextBox打印和实际排版不是同调用同一段排版代码的么? 还是我设置有错? 请问如何实现所见即所得打印效果

    很多人最闹不清的就是数据访问层,到底那部分才算数据访问层呢?有些认为数据库就是数据访问层,这是对定义没有搞清楚,DAL是数据访问层而不是数据存储层,因此数据库不可能是这一层的。也有的把SQLHelper(或其同类作用的组件)作为数据访问层,它又是一个可有可无的东西,SQLHelper的作用是减少重复性编码,提高编码效率,因此如果我习惯在乎效率或使用一个非数据库的数据源时,可以丢弃SQLHelper,一个可以随意弃置的部分,又怎么能成为三层架构中的一层呢。
      可以这样定义:与数据源操作有关的代码,就应该放在数据访问层中,属于数据访问层
      5、IUserDAL
      数据访问层接口,这又是一个可有可无的东西,因为Petshop中带了它和ClassFactory类工厂,所以有些项目不论需不需要支持多数据源,都把这两个东西做了进来,有的甚至不建ClassFactory而只建了IDAL,然后“IUserDAL iUserDal = new UserDAL();”,不知意义何在。这就完全是画虎不成反类犬了。
      许多人在这里有一个误解,那就是以为存在这样的关系:BLLßàIDALßàDAL,认为IDAL起到了BLL和DAL之间的桥梁作用,BLL是通过IDAL来调用DAL的。但实际是即使你如此编码:“IUserDAL iUserDal = ClassFacotry.CreateUserDAL();”,那么在执行“iUserDal.SelectUsers()”时,其实还是执行的UserDAL实例,而不是IUserDAL实例,所以IDAL在三层中的位置是与DAL平级的关系。
      通过上面的介绍,基本上将三层架构的层次结构说明了。其实,本人有一个判断三层架构是否标准的方法,那就是将三层中的任意一层完全替换,都不会对其它两层造成影响,这样的构造基本就符合三层标准了(虽然实现起来比较难^_^)。例如如果将项目从B/S改为C/S(或相反),那么除了UI以外,BLL与DAL都不用改动;或者将SQLServer改为Oracle,只需替换SQLServerDAL到OracleDAL,无需其它操作等等。本来想在文中加入一些具体的代码的,但感觉不是很必要,如果大家觉得需要的话,我再补充吧。
      总结:不要因为某个层对你来说没用,或者实现起来特别简单,就认为它没有必要,或者摒弃它,或者挪作它用。只要进行了分层,不管是几层,每一层都要有明确的目的和功能实现,而不要被实际过程所左右,造成同一类文件位于不同层的情况发生。也不要出现同一层实现了不同的功能的情况发生。

    model的字段封装 是数据载体,不是一层。
    bll是业务逻辑层,当你的ui层有cs/bs等时,是不是都可以调用bll啊,当你的表现更多形式的时候,同一个方法只要写一次就可以多次使用了,那样也统一,如果再做分布式系统,bll是不是可以直接放到服务器上给调用,客户端不管理你是什么,逻辑都是一样的。

    做 ASP.NET 快五年了,现在才算基本明白了三层架构,
    11 楼所讲滴三层架构是俺两年前滴理解,虽然用 Model 取代了 DataTable,
    但是写起来仍感觉代码不流畅!

    直到前几个月才悟出来,分层并不重要,OO 才是最重要滴!!!

    借 11 楼所讲滴三层架构一用,虽然层分滴很华丽,
    但是真正滴对象在哪里?对象滴继承在哪里?对象之间滴组合又在哪里?
    也许有人会说现在应用很简单,等应用复杂起来就会有了,是真的么?!
    答案当然是,非真!

    OO 实现与应用滴简单与否并无直接关系,简单应用照样有对象,只是数量少一些,一两个而已,
    而 11 楼所讲滴那种三层架构中,虽然有 Model 和 BLL,但恰恰没有真正滴对象,接下来仔细分析一下:

    Model 层,一些只有属性、字段而无方法滴类,基本上都是数据库表直接映射而来滴,
    虽然用到了 class 关键字,但它们不是类,只是一些数据表滴变体而已,形象一些也可称为数据傀儡,
    只能任人摆布,结论 Model 层是一些残疾类滴集合,没有丝毫 OO 滴思想;

    来源:足球论坛

    展开全文
  • 因此本程序只是演示直方图图表的生成及预览和打印功能,生成图表,请参考以下核心 代码:  Private Sub Command1_Click()  MSChart1.EditCopy  Picture1.Picture = Clipboard.GetData(vbCFDIB)  End Sub  ...
  • WEB中显示每行变为每行4列,预览和实际打印效果又每行3列,但第4个标签没有出现在第二第一列而是出现第二页第一列位置,查了很多资料未 果,求高手赐教!!! 有几个地方请注意下:(Body Width + Left margin +...
  • 另外也可通过页面视图比例来快速调整,其中100%为实际页面大小,比如有时我们在文档大小正常打出来却过大或过小,我们在打印前调整到100%比例就是打印后的效果。 2、阅读模式 点击阅读器工具栏中的“单页/双页”、...
  • 实际使用效果还不错,美中不足的是没有自带补空行的功能(通过给报表数据增加null值可以实现)文字旋转(好像不支持带@的旋转字体) 不过应付日常简单报表已经绰绰有余,还是值得记录一下!!!   通过 ...
  • 我们通常说的光栅的线数是光栅生产商开发的光栅模具的线数,在模具制作过程生产过程中,受热胀系数各种因素的影响,生产出来的光栅产品的实际线数会有一些误差,同时,不同的图像输出工具,不同的纸张在图像输出...
  • 傻瓜打表

    2006-03-16 00:00:00
    按照指定叠接宽度、实际打印纸型号分割 支持的表格类型: 数据表(多行表头、斜线、传统账本格式的金额格式等): 支持固定行高(默认)、自动折行的动态行高 支持列宽自动优化调节(如打印一个比较大的表...
  • 4.新加全屏效果预览和实际绣图效果完全一致,因为直接使用真实绣线的颜色绘制 5.用户可以设定输入字体大小,颜色 6.新加了帮助文件 注册码:245S62UC3K1N 十字绣DIY V2008 本次更新如下: 1.用户可自定义...
  • 如何做报表测试[3]

    2021-03-23 16:23:21
    如何做报表测试[3] 软件测试 打印预览 实际打印效果 除了打印之外,用户有可能需要导出报表做进一步的分析或用于其他报表的比较.所以也应该提供导出报表的功能.一般可以导出为CSV,Excel,pdf,html,xml格式.看...
  • 按照指定叠接宽度、实际打印纸型号分割 支持的表格类型: 数据表(多行表头、斜线、传统账本格式的金额格式等): 支持固定行高(默认)、自动折行的动态行高 支持列宽自动优化调节(如打印一个比较大的表...
  • 浪迹互联网,是否有过这样的经历,遇到自己特别需要或者特感兴趣的内容时,或收藏网址或存成笔记或将其打印...当你真的遇到第三者这种情况时,是否发现调出打印预览时的效果和自己的预期不太相符? 或者是网
  •  ... 浪迹互联网,是否有过这样的经历,遇到自己特别需要或者特感兴趣的内容时,或收藏网址或...当你真的遇到第三者这种情况时,是否发现调出打印预览时的效果和自己的预期不太相符? 或者是网页的原样但却包含了很多
  • 用户可以预览所有页面,实际尺寸,缩放并查看输出效果,控制页面大小方向以及标题数据。另外软件内置搜索引擎访问工具,能够快速搜索任务信息,资源名称日期。 2018版本支持目前最新的Project 2016生成的文件。
  • 高级办公自动化考试

    2014-09-20 11:16:16
    WORD文档处理部分 1、WORD的新建、打开、保存、另存为、关闭等操作的方式、快捷键以及注意事项 2、WORD中的剪切、复制...包括打印预览的作用,快速打印按钮的使用,还有打印对话框的调试,页面范围、打印副本数的意义等
  • 测试总结

    2019-10-01 14:44:42
    财务这一块,我再总结一下客户怎么测出来的问题,而这就没有想到呢: 出现的新的问题,就是和实际相联系,反映到报表就是打印的问题,现在Excel是否能点击打印,利用虚拟的打印机打出效果来,在预览中看就可以,而不...
  • -即时预览配色方案在网页布局中的实际应用效果 -RGB CMYK 颜色模式快速切换 -模拟色盲颜色显示 -方便的颜色方案输出打印 -强大的导入导出功能,兼容各类热门图形图像软件以及格式等 ColorSchemer ...
  • -即时预览配色方案在网页布局中的实际应用效果 -RGB CMYK 颜色模式快速切换 -模拟色盲颜色显示 -方便的颜色方案输出打印 -强大的导入导出功能,兼容各类热门图形图像软件以及格式等
  • ColorSchemer Studio破解版

    2014-11-19 11:39:04
    -即时预览配色方案在网页布局中的实际应用效果 -RGB CMYK 颜色模式快速切换 -模拟色盲颜色显示 -方便的颜色方案输出打印 -强大的导入导出功能,兼容各类热门图形图像软件以及格式等 内含注册机
  • -即时预览配色方案在网页布局中的实际应用效果 -RGB CMYK 颜色模式快速切换 -模拟色盲颜色显示 -方便的颜色方案输出打印 -强大的导入导出功能,兼容各类热门图形图像软件以及格式等等。

空空如也

空空如也

1 2 3 4 5 6
收藏数 106
精华内容 42
关键字:

打印预览和实际打印效果