直接发送数据到打印机

shokushnanlaob

shokushnanlaob

2016-02-19 15:32

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

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

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

(本文来源于图老师网站,更多请访问https://m.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函数来实现。

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

  eg. fopen("lpt1", "wt") 或 fopen("\\MainServer\MatrixPrinter", "wt")

展开更多 50%)
分享

猜你喜欢

直接发送数据到打印机

编程语言 网络编程
直接发送数据到打印机

通过Android设备直接连接打印机打印文件

Android
通过Android设备直接连接打印机打印文件

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

打印机共享设置教程 打印机怎么设置共享

打印机 电脑
打印机共享设置教程  打印机怎么设置共享

怎么安装虚拟打印机,虚拟打印机安装方法

电脑入门
怎么安装虚拟打印机,虚拟打印机安装方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

怎么共享打印机

打印机
怎么共享打印机

怎样安装打印机?

打印机 电脑入门
怎样安装打印机?

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

那些复杂旳情绪 - QQ情侣分组

那些复杂旳情绪 - QQ情侣分组

你只属于我 - QQ情侣分组

你只属于我 - QQ情侣分组
下拉加载更多内容 ↓