我只发送了打印一页的命令,为什么打印机经常打出多个相同的页面?

问题描述

各位大虾,我的问题如下:我用了拷屏的方法,然后打印剪贴板内容,代码如下:PublicSubbtnPrint_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnPrint.ClickOnErrorResumeNextSendKeys.SendWait("%{PRTSC}")IfPRI.PrinterSettings.IsValidThenPRI.PrinterSettings.Copies=1PRI.DefaultPageSettings.Landscape=TruePRI.Print()EndIfEndSubPrivateSubPRI_PrintPage(ByValsenderAsSystem.Object,ByValeAsSystem.Drawing.Printing.PrintPageEventArgs)HandlesPRI.PrintPageDimmclipboardDataObjectAsIDataObject=Clipboard.GetDataObjectDimmBitmapAsBitmapIfmclipboardDataObject.GetDataPresent(DataFormats.Bitmap)ThenmBitmap=mclipboardDataObject.GetData(DataFormats.Bitmap)e.Graphics.DrawImage(mBitmap,PRI.DefaultPageSettings.Bounds.Left,PRI.DefaultPageSettings.Bounds.Top)EndIfEndSub我在一台电脑上用,打印都正常,用了另外一台电脑(不一样的打印机),打出来经常是几页相同的纸,5页,7页都有,就是没有偶数页,看打印机任务管理器,也确实有这么多打印任务,我就不明白,这个问题出在哪?我的程序,windows的GDI模块和打印池,还是打印驱动程序?从道理上讲,我认为应该是windows的问题,可是到底什么原因?不知道

解决方案

解决方案二:
是不是你打印机设置的问题呀?
解决方案三:
这个应该是打印的驱动程序兼容问题
解决方案四:
或者是,打印机的默认设置,或者是,打印软件的默认设置问题。再或者是,软件和硬件的配合问题。
解决方案五:
是驱动程序的问题和你这个程序有相关的东西。
解决方案六:
回复数有四个,怎么看不到?
解决方案七:
呵呵,总算看到了我看了windows相关的介绍,打印过程(通过打印池而不是直接发送到打印机)应该是这样的。1,windows确认打印机UI驱动程序(我想应该是确定打印机驱动程序是否存在)2,windows通过打印池客户和GDI生成打印机任务管理器的任务(EMF文件等),这个时候你的应用程序可以自由了。3,打印处理器将EMF文件生成最后的原始数据格式,打印机开始打印。如果是这样的话,我想应该和打印机驱动程序没什么关系,而且我确实在打印机任务管理器中看到很多任务。奇怪的是,用Excel打印报表从来不出现这种问题。我的代码是否有问题呢
解决方案八:
我在PRI_PrintPage方法中增加一句:e.hasmorepages=false不知道是否有用处?
解决方案九:
没遇到过这种情况.

时间: 2024-09-20 00:23:02

我只发送了打印一页的命令,为什么打印机经常打出多个相同的页面?的相关文章

WORD只打印奇页或偶页的方法

如果WORD文档的页数很多,并且,打印机又不支持双面打印的话,想把所有的页都打印出来,估计会浪费很多纸张的. 要想实在即不浪费纸张,同时又能快速打印,我们得使用单独打印奇页和偶页的方法. 大体过程是这样的:先放好打印纸张,然后,先打印出奇页,好了以后,再把打印出来的奇页反扑之后再放到打印机里面,通过另外一面,再打印偶页,这样,就实现快速双面打印了. 下面是实现奇页或偶页的打印方法,具体如下: 菜单操作:"文件"→"打印",会弹出对话框. 在对话框的下面位置,我们能看

报表 批量打印-通过勾选一次打印多页报表

问题描述 通过勾选一次打印多页报表 通过勾选按钮在datagridview中多选记录,在报表模板中进行多页打印,怎么做?求大神 解决方案 Sub 手动双面打印() Dim Pages As Long Dim myBottonNum As Integer Dim myPrompt1 As String Dim myPrompt2 As String myPrompt1 = ""在打印时发生错误,请检查你的打印机设置"" myPrompt2 = ""

WinForm打印之页边距

原文:WinForm打印之页边距 1.启用页边距: 默认情况下PrintDocument是不理会页边距的(MS再次让人无语...),这也是为什么有人说明明设了页边距在打印预览里却没有效果的原因. 解决办法是设置PrintDocument对象的OriginAtMargins属性为True,如下: printDocument1.OriginAtMargins = true; //启用页边距 再来看一下从元数据中提取的关于OriginAtMargins属性的定义: //// 摘要://     获取或

惠普喷墨打印机怎么打印测试页

  适用机型 • HP Deskjet 200.200cci.400.420C.500.500C.550C.500Q.525Q.600.610.630.640.656.670.690.695 喷墨打印机. • HP Deskjet 710.720.810.830.840.845.880.895.850.870.890.920.930.948.950.970.990 喷墨打印机. • HP Deskjet 3000 系列喷墨打印机. • HP Deskjet D1368.D1468.D1558.D

WEB打印,去页眉和页脚

web|web打印 1. IE浏览器. 文件->页面设置.把页脚去掉就行了. 2.用代码.//有提示的..<HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT="YC"> <script lang

excel表格怎么设置a4纸打印成整页?

  excel表格怎么设置a4纸打印成整页?          1.页面布局--纸张大小--A4进行设置 2.页面布局,点击页面设置 3.左右上下页边距均改为0,水平垂直居中--确定 4.文件打印设置--将工作表调整为一页 5.在预览窗口查看修改该后的效果

激光打印机打印空白页解决方法

一台EPSON EPL-6200L激光打印机,在打印输出的时候,有时候会出现打印空白页的现象.拿到EPSON维修中心进行检测,没有发现任何硬件问题,而且我使用的也是正品耗材,请问这是什么问题造成的? 通过上面的描述,估计你遇到的问题,应该是由于在打印机驱动设置"不打印空白页选项"造成的.解决方法如下:单击"开始→设置→打印机",鼠标右键菜单中选择相应打印机的"属性",打开"常规"窗口,单击"打印首选项→可选设定值→扩

解决网络不通数据只发送不接收

网络的畅通是表现在既有发送包,也有接收包,只有来去都畅通才正常.但是如果只有发送,却没有接收,碰到这样的故障到底又是怎么回事呢?在笔者短暂的两年网管生涯中,出现了几次这样的故障,但他们发生的原因又各有不同.今天笔者就把一些解决方法奉献给大家. 一般来说,出现这种故障的时候,网络连接都是都是好的,即不会出现红色的叉子图标.但这又只是一种表现的正常,因此我们入手的时候必须先从自身入手. 从自身入手的第一点就是检查出现该故障前有没有安装过什么软件,有没有改过什么设置,尤其是杀毒软件.防火墙这一类的软件

WPS双面打印设置页边距的技巧

  前面介绍过了WPS文字打印的所有功能,其中对双面打印功能也做了基本的了解.在实际中,我们打印文档时,会考虑装订因素,所以在双面打印前要对文档的边距进行相关的设置.下面就是设置左右页边距对称的步骤. 1. 在"文件"菜单中,单击"页面设置"命令. 打印 2. 单击"纸张边距"选项卡,在"页面边距"框中键入上.下.左.右边距的值;在"页面选择"页面中,选中"左右页边距对称"复选框,这时&