0

印刷ジョブを複製しようとしています (誰かがドキュメントを印刷すると、このドキュメントは別のプリンターでも自動的に印刷されます)。目的は、印刷されたすべてのドキュメントを 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);

何が間違っていて、修正する方法を知っている人はいますか?

このようなことを行うソフトウェアの例: リンク

ありがとうございました

4

1 に答える 1