リモートデスクトップサービスのRDS時の印刷では、汎用ドライバである
- EasyPrint
が使用できます。
このEasyPrintを使用し、
- どのようにプリンタ印刷しているのか?
- 印刷で転送されるスプールデータファイルサイズはどう変わるのか?
その仕組みを確認・調査してみました。
レジュメ
環境・前提条件
- Windows Server 2016 (RDセッションホストサーバー)
- Windows 7
RDセッションサーバーはインターネット越しのAWS上に配置しました。
EasyPrintドライバを使用した印刷の仕組み
RDセッションホスト上で印刷をすると
- EasyPrint ドライバでスプールデータファイルが作成され
- パソコン上で正規のプリンタドライバでスプールデータファイルが変換され
- プリンタにプリントアウトされます。
参考までに、
PC上のWindowsサービス「Print Spooler」が停止していると、RDセッションホスト上にプリンタリダイレクトはされません。
(PC上の「デバイスとプリンター」にプリンタ一覧が表示されなくなるためです)
参考:Windows 7 および Windows Server 2008 R2 SP1 では、RD Easy Print でスケーリングがサポートされなくなりました。 Ask CORE
RDセッションホスト上のリダイレクトされたプリンタがEasyPrintドライバを使用しているかどうか確認する方法
リダイレクトされたプリンタを右クリックし、「プリンターのプロパティ」をクリックする。
プロパティの「全般」タブのモデル名が
- Remote Desktop Easy Print
であれば、RDセッションホスト上で、EasyPrintドライバが使用されている。
EasyPrintドライバのスプールデータサイズと、正規のプリンタドライバのスプールデータサイズを比較してみる
まずは、RDセッションホスト上でテスト印刷をし、
プリンタの「印刷ジョブの表示」にジョブが表示したら、すぐに右クリック「一時停止」を押します。
RDセッションホスト上では、スプールデータファイルサイズは403KBであることがわかります。
今度は、PC側のプリンタを「印刷ジョブの表示」のメニューから「プリンター」-「一時停止」にチェックを入れた状態で、RDセッションホストのプリントジョブを「再開」させます。
するとPC上では、スプールデータファイルサイズが29.7KBとなったことがわかります。
プリンタドライバによってスプールデータサイズが変わってくるので、今回のようにEasyPrintのスプールデータファイル転送サイズの方が大きくなる場合があります。
スプールデータファイルはRAW形式かEMF形式か確認
上記は、印刷ジョブの表示」のジョブを右クリックし、「プロパティ」を表示することで確認できます。
今回、RDセッションホスト上でのEasyPrintドライバのスプールデータの形式はRAW形式ということがわかります。
また、PC上のスプールデータの形式もRAW形式でした。
RAW形式の他には、EMF形式もあります。
一般的に、RAW形式のスプールデータサイズの方がEMF形式のスプールデータサイズより大きくなります。
スプールデータファイルが保存されるスプールフォルダのパスはどこ?
「デバイスとプリンタ」のメニュー内にある、「プリントサーバープロパティ」をクリックし、
「詳細設定」タブを開くと、スプールフォルダのパスがわかります。
C:\Windows\System32\spool\PRINTERS
RDセッションホスト上での先ほどのテスト印刷のスプールデータサイズは、やはり400KB程度であり、
PC上での先ほどのテスト印刷のスプールデータサイズは、やはり30KB程度であることがわかります。