WPF プロジェクトからの印刷で奇妙な問題が発生しています。レポート用にアプリケーションのスクリーン キャプチャを印刷していますが、すべて問題なく動作しています。現在、ユーザーが印刷を押すと、印刷ダイアログが表示され、キャプチャ画像が印刷されます。
ただし、ダイアログ ボックスを表示せずに、既定のプリンターに直接印刷できるようにしたいと考えています。これは、ステートメントをコメントアウトしてShowDialog()
、あとはそのままにしておくことで簡単に実行できます。プリンターは引き続き印刷しますが、ページは常に白紙です。誰でもこの動作を説明できますか?
private void PrintCurrentScreen()
{
PrintDialog PD = new PrintDialog();
PD.PrintTicket.OutputColor = OutputColor.Grayscale;
PD.PrintTicket.OutputQuality = OutputQuality.Draft;
PrintTicket PT = new PrintTicket();
PT.PageOrientation = PageOrientation.Landscape;
PT.CopyCount = 1;
PT.PageBorderless = System.Printing.PageBorderless.Borderless;
//---Blank pages print when commented out---//
//if (PD.ShowDialog() == true)
//{
PD.PrintTicket = PT;
DrawingVisual DV = new DrawingVisual();
DV.Offset = new Vector(20, 20);
DrawingContext DC = DV.RenderOpen();
DC.DrawImage(previewimage.Source, new Rect(new Size(PD.PrintableAreaWidth - 40, PD.PrintableAreaHeight - 40)));
DC.Close();
PD.PrintVisual(DV, "TEST");
//}
}