直接发送数据到打印机

2016-02-19 15:32 5 1 收藏

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享直接发送数据到打印机教程,希望对大家能有一点小小的帮助。

【 tulaoshi.com - 编程语言 】

  下面是一个将数据直接发送到打印机的示例:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  记得在文件中加上#include winspool.h

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  

bool Print(char* szPrinterName, char* szBuffer)// szBuffer是我们希望发送到打印机的数据缓冲
{
HANDLE hPrinter; //打印机句柄
int iLen = strlen(szBuffer);// 发送数据的长度
DWORD dwWritten; // 已经向打印机写了多少
if(OpenPrinter(szPrinterName, &hPrinter, NULL))
//Open打印机并赋给一个句柄(已经保存在hPrinter)
{
DOC_INFO_1 Info;//文档信息
memset(&Info, 0, sizeof(Info));
Info.pDocName = "My PrintJob";
//文档名(which is shown in the PrintManager)
Info.pOutputFile = NULL;
//不须要向一个文件写,设为NULL
Info.pDatatype = "RAW";
//数据以RAW格式发送(Win9x和WinNT都支持RAW和EMF格式,WinNT还支持TEXT格式
if(!StartDocPrinter(hPrinter, 1, (LPBYTE)&Info))//文档开始
return false;
// 告诉打印机开始新页
StartPagePrinter(hPrinter);
// 向打印机写数据
if(!WritePrinter(hPrinter, szBuffer, iLen, &dwWritten))
{
//当发送数据时出现错误
//用最后的错误指出发生了什么错误
}
EndPagePrinter(hPrinter);//告诉打印机已经完成当前页
if(!EndDocPrinter(hPrinter))//文档结束
return false;
ClosePrinter(hPrinter);//关闭打印机
return true;
}
else
{
return false;
}
}

  假如你的打印机直接与计算机相连(LPT1-LPT3)或者影射为网络打印机,那你就可以直接用fopen函数来实现。

  eg. fopen("lpt1", "wt") 或 fopen("\MainServerMatrixPrinter", "wt")

来源:https://www.tulaoshi.com/n/20160219/1609845.html

延伸阅读
步骤 1:检查硬件 许多打印问题是由于硬件设置不正确造成的。 以下是如何将电缆插入正确位置并确保打印机接通电源的相关信息。 检查电缆是否正确连接 检查以确保打印机的电源线已插入到电源插口中,同时打印机电缆已正确地从打印机连接到计算机。 典型的 USB 电缆和端口 请检查电源 检查以确保打印机电源开关处于打开状态,或者,如果...
标签: 打印机 电脑
确定打印机能正常使用 首先确定打印机是否能正常使用,然后将usb数据线连接电脑和打印机。 打开控制面板 打开我的电脑进入控制面板(我的是windos7)。 进入硬件和声音选项 接着,进入硬件和声音选项。 添加打印机 点击设备和打印机选项的添加打印机。 添加本地打印机 第二个不用管他,他是装无线打印机的一般用不上。然...
标签: 电脑入门
一、墨盒的使用常识 ★将墨盒存放在室温环境下,避开阳光、强光线和热源存放。 ★在墨盒未上机安装使用前,切勿撕开墨盒的外包装及气孔封条。 ★在墨盒拆封后请尽快将它安装到打印机上去,否则有可能会引起墨盒漏墨或喷不出颜色。 ★为得到最好的打印效果,请在安装墨盒后的六个月内使用。 二、与墨盒寿命相关的因素 ★在使用彩色喷墨盒(...
1、打印机的分辨率(象素/英寸) X方向分辨率=GetDeviceCaps(Printer-Handle,LOGPIXELSX); Y方向分辨率=GetDeviceCaps(Printer-Handle,LOGPIXELSY); 2、打印纸的大小(以象素为单位) 通过Printer的PageWidth和PageHeight属性可得到可打印范围的象素数 物理象素数用以下API得到: 宽=GetDeviceCaps(Printe...
标签: 生活常识
如何节约打印机耗材   如何节约打印机耗材 节俭朴素,人之美德;奢侈华丽,人之大恶,打印耗材是一台打印机耗费金钱最多的一项,除了仪器耗材,打印纸也是不可忽视的部分。出于成本节约考虑,下面图老师小编就为介绍一些如何节约打印机耗材的妙招与方法,一起来看看吧,节约能源从我做起。 一、纸张节约 1、变...

经验教程

492

收藏

18
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部