我正在尝试复制打印作业(这意味着当有人打印文档时,此文档也会自动打印在另一台打印机上)。目的是我想将所有打印的文档转换为pdf并将它们发送到服务器。
我能够使用FindFirstPrinterChangeNotification
检索所有打印作业,并且能够使用ReadPrinter
检索作业内容。
这份工作是以EMF形式。
但是,当我想使用WritePrinter
将此作业写入另一台打印机时,作业似乎进入打印机,在新打印机的状态窗口中写入Printed
,但它没有什么都不会发生。作业未到达打印机。
复制作业的代码是:
do{
if (!ReadPrinter(hPrinterJob, lpBytes, BUFSIZE, &dwBytesRead))
{
return FALSE;
}
else
{
if (!WritePrinter(hPrinterNew, lpBytes, dwBytesRead, &dwBytesWritten))
{
return FALSE;
}
}
}while(dwBytesRead!=0);
有谁知道这是什么问题以及如何解决?
执行此类操作的软件示例如下:link
谢谢
答案 0 :(得分:2)
这不起作用。请阅读文档。
打印作业的顺序如下: