こんにちは、Platform SDK (Windows SDK) サポートチームです。
今回は .NET Framework 4.6 インストール環境にて、WPF アプリケーションから正常に印刷が行われない現象についてお知らせします。
概要
WPF アプリケーションにて以下のような手順で印刷を行うオブジェクトを作成した場合、正常に印刷が行われないことがあります。
1. DrawingVisual クラスを利用してテキストを描画するためのオブジェクトを作成する。
2. FromattedText クラスを利用してテキストのカルチャを CultureInfo.InvariantCulture (環境に依存しない) に設定する。
3. PrintDialog クラスを利用して印刷する。
上記手順で印刷処理を実施した場合、テキストが描画されたドキュメントが印刷されることが期待されますが、実際には何も表示されない白紙のドキュメントが印刷されます。本現象は印刷先が仮想プリンタ / 物理プリンタに関わらず発生します。
原因
本現象は CultureInfo.InvariantCulture を指定した際に行われる内部の処理に不具合があるため、発生します。
この問題は .NET Framework 4.6 がインストールされた環境でのみ発生します。
回避策
CultureInfo.InvariantCultureではなく、CultureInfo.CurrentCulture を利用した場合、本現象は発生しません。
今後の対応予定
本現象につきましては今後修正を行う予定です。修正公開時期は現時点では未定です。
参考情報
CultureInfo.InvariantCulture Property
CultureInfo.CurrentCulture Property
DrawingVisual Class
https://msdn.microsoft.com/en-us/library/system.windows.media.drawingvisual(v=vs.110).aspx
FormattedText Class
https://msdn.microsoft.com/en-us/library/system.windows.media.formattedtext(v=vs.110).aspx