我正在尝试复制打印作业(这意味着当有人打印文档时,该文档也会自动打印在另一台打印机上)。目的是我想将所有打印的文档转换为 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
谢谢