68229


### 質問

Microsoft Print to PDFで次のことをやりたいです。

・予め設定ファイル（conf.txt）に「文字列」と「番号」を書いておく。  
・印刷時にconf.txtを読んでPDFを「文字列+番号.pdf」というファイル名（パス）で保存する。また、conf.txtの番号に+1する。  
・もしconf.txtが無かったら、通常通りユーザがファイル名と場所を指定する。

たぶん「プリンタドライバーの開発」になると思いますが、知識がない上に調べても分かりやすい情報源がなく、よく分かりません。

### やったこと

・Visual Studioをインストール  
・Windows 10 SDKをインストール  
・Windows Driver Kitをインストール

### できないこと

Microsoft Print to PDFのドライバ作成。

### 追記

プログラムはブラウザの印刷機能から呼び出されるようにしたいです。プリンタを選択する時に現状では「Microsoft Print to
PDF」が選択肢にありますが、新しく「My Print to PDF」のようなものを作ることになると思います。この作り方が分かりません。


CC BY-SA 4.0
2020-07-01T07:58:46.373
68176
2021-06-20T13:02:36.787
2020-07-01T08:30:52.873
question
windows
Microsoft Print to PDFのドライバーの作り方


これが参考になりませんか？  
プログラミング言語はC#です。

<https://stackoverflow.com/questions/31896952/how-to-programmatically-print-
to-pdf-file-without-prompting-for-filename-in-c-sh>


CC BY-SA 4.0
2020-07-01T08:15:06.060
68179
2021-06-20T13:02:36.787
2021-06-20T13:02:36.787
3068
24490
68176
answer


ちなみに、Windows Driver KitのドライバーサンプルにはMicrosoft Print to PDFのソースコードは無いようです。

サンプルに何が入っているかの説明ページはこれ。  
XPSは複数ありますがPDFは含まれていません。  
[印刷ドライバーのサンプル](https://docs.microsoft.com/ja-jp/windows-
hardware/drivers/samples/print-driver-samples)

サンプルの中でマイクロソフトの印刷ドライバと明記されているのはこちらの2つ。  
[Microsoft のプリンター ドライバーをカスタマイズします。](https://docs.microsoft.com/ja-jp/windows-
hardware/drivers/print/customizing-microsoft-s-printer-drivers)

  * Microsoft ユニバーサル プリンター ドライバー (Unidrv)
  * Microsoft PostScript プリンター ドライバー (Pscript)

なので、 **Microsoft Print to PDF** をカスタマイズすることは出来ないでしょう。  
取り敢えず代替手段として以下のような例が考えられます。

  * あくまでMicrosoft Print to PDFのカスタマイズにこだわる  
あまり現実的じゃないですが、Microsoftと交渉して改造用にMicrosoft Print to PDFのソースコードを購入する

  * Microsoft Print to PDFを使えれば良い  
私のコメントや@池田茂樹さん回答の手段等によりプリンタドライバは変更せずに、アプリケーションやユーティリティで出力ファイル名を自動で指定出来るようにする

  * PDF形式に出力出来れば良い  
オープンソースのPDFプリンタドライバが複数あるので、その中から好みのものを選んで目的の機能を追加する

  * ファイルに出力出来れば良い  
上記Microsoft PostScript プリンター ドライバーか、サンプルや解説の多数あるXPS形式のファイル出力を改造して目的の機能を追加する


CC BY-SA 4.0
2020-07-02T23:38:40.143
68229
2020-07-02T23:38:40.143
26370
68176
answer