求教OpenPrinter打印的问题
代码如下
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!");
为何打印之后还是要走纸呢?怎样才能不让打印机走纸打完停住呢?
还有怎样手动让打印机换行呢?
谢谢~~~
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
C# 使用WINAPI 直接向指定打印机发送打印数据
C# 使用WINAPI 直接向指定打印机发送打印数据,实现分单打印...
使用c++调用windows打印api进行打印的示例代码
前言 在近期开发的收银台项目中,需要使用打印机进行小票打印,打印流程的时序图如下所示: 在客户的使用过程中,遇到一个问题,如果机器安装了打印机驱动,那么调用厂商提供的 sdk 进行打印的话,会导致出现小票只打印一半的情况,对此,需要绕过厂商 sdk 使用系统的打印才能够解决这一问题。 在 web 端打印中,需要调用浏览器打印 api 进行网页打印。这意味着,之前后端编写的esc/pos无法复用到,同时,前端还得花费精力来编写 html 以及css 来完成打印内容的排版,这无疑增加了复杂度以及工作量。正打算开始时,得到高人指点。 可以使用 windows api 进行打印 具体参见这篇
vc 控制,取消文件打印
用windows API函数,控制打印队列。主要实现了取消打印功能。


硬件/系统
