web-dev-qa-db-ja.com

Windowsで仮想プリンターを作成するにはどうすればよいですか?

Windows用の仮想プリンタードライバーを作成したい。どこでどのように適切に開始できますか? WDKには、良い入門書ではないように思われるいくつかの印刷ドライバーの例があります。また、MSDNは初心者にはあまり役に立たないようです。

Windows用の仮想プリンターはたくさんあります(ほとんどはPDFを生成します)が、誰かが私に同じことを行う方法を教えてもらえないでしょうか?

詳細なドキュメントへのリンクは、事前に歓迎されます。

ありがとう。

19
Terminus

私がそれをしたとき(約12年前)、私はポストスクリプトドライバーのサンプルから始め、すべてのポストスクリプト固有のものを置き換えました(私の場合、ポストスクリプトコマンドを生成する代わりにビットマップに書き込むため)。

私はカスタムプリントモニターも作成しました(ドライバーはスプーラーに書き込み、それはモニターに書き込みます):モニターはファイルに書き込みました。パラレルポートに。

ただし、それ以降、プリンタドライバのアーキテクチャやサンプルドライバのセットが変更されている可能性があります。

12
ChrisW
3
pedrofernandes

正確なニーズに応じて役立つ可能性のある、Microsoft(Microsoft MDT)の「ミニドライバー」開発を参照できます。処理する必要のあるポート(つまり、既存のプリンタードライバーからデータを取得して処理する場合)は、RedMonのソースコードを参照できます。 Vista/Win7はサポートしていませんが、正しい方向を示している可能性があります。

3

他の誰かがすでにPDFCreatorについて言及しています。プリンタ、ポート、モニターを作成しているコードへのより具体的なリンクは次のとおりです。 VBを使用しているにもかかわらず、C++に慣れている人としてフォローできるので、あなたもそうできると思います。 modPrinter.bas 脚は機能します。 modMain.bas 、約28行目以降、modPrinter.basを呼び出します。

2
Jon Bright

あなたが言及するドライバーの1つはオープンソース(GPL)です、多分あなたはそのソースを探索するか、それを適応させることができます: http://www.pdfforge.org/products/pdfcreator/download

2
JCCyC

印刷ポートモニターを作成し、そのポートをプリンターに関連付けると、プリンタードライバーがポートに送信するデータを取得します。

cppでどのように行われるかの実例とJavaはここにあります: http://www.mms-computing.co.uk/uk/co/mmscomputing/device /printmonitor/index.php

0
user235724