求教OpenPrinter打印的问题

Cocteau Cocteau 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
代码如下
HANDLE hPrinter = NULL;
if(!OpenPrinter((LPTSTR)"Epson LQ-1500",&hPrinter,NULL))
AfxMessageBox("Can not open printer!");



DOC_INFO_1 docinfo;
memset(&docinfo, 0, sizeof(docinfo));
docinfo.pDocName = "FireWork";
docinfo.pOutputFile = NULL;
docinfo.pDatatype = "TEXT";
if(StartDocPrinter(hPrinter,1,(LPBYTE)&docinfo) == 0)
AfxMessageBox("Can not start doc printer!");


//StartPagePrinter(hPrinter);

DWORD bw;
CString word = "abcdefghijklmn\n";
int iLen = word.GetLength();
WritePrinter(hPrinter, (LPBYTE)&word, iLen, &bw);


//EndPagePrinter(hPrinter);


if(!EndDocPrinter(hPrinter))
AfxMessageBox("Can not end doc printer!");


if(ClosePrinter(hPrinter) == 0)
AfxMessageBox("Can not close printer!");

为何打印之后还是要走纸呢?怎样才能不让打印机走纸打完停住呢?
还有怎样手动让打印机换行呢?
谢谢~~~
...全文

相关推荐

删除打印任务队列(含源代码)

C++编程彻底删除Windows 打印缓冲中的任务列表或者单个打印任务.

无米之炊

直接打印Raw文件

虚拟打印机开发时可以在端口截获raw文件; 然后可以将raw文件打印至其他打印机。 SDK函数的调用序列为: OpenPrinter-->StartDocPrinter-->StartPagePrinter-->WritePrinter-->EndPagePrinter-->EndDocPrinter-->ClosePrinter。 参考资料:http://blog.csdn.net/masofeng/article/details/7575050

masofeng

C# 使用WINAPI 直接向指定打印机发送打印数据

C# 使用WINAPI 直接向指定打印机发送打印数据,实现分单打印...

lisirabcdefg

使用c++调用windows打印api进行打印的示例代码

前言 在近期开发的收银台项目中,需要使用打印机进行小票打印,打印流程的时序图如下所示: 在客户的使用过程中,遇到一个问题,如果机器安装了打印机驱动,那么调用厂商提供的 sdk 进行打印的话,会导致出现小票只打印一半的情况,对此,需要绕过厂商 sdk 使用系统的打印才能够解决这一问题。 在 web 端打印中,需要调用浏览器打印 api 进行网页打印。这意味着,之前后端编写的esc/pos无法复用到,同时,前端还得花费精力来编写 html 以及css 来完成打印内容的排版,这无疑增加了复杂度以及工作量。正打算开始时,得到高人指点。 可以使用 windows api 进行打印 具体参见这篇

weixin_38663415

vc 控制,取消文件打印

用windows API函数,控制打印队列。主要实现了取消打印功能。

jqwtlj
评论 4
收藏 已收藏
分享
返回顶部
Cocteau
硬件/系统 2,644 成员 17,229 内容