РаспечататьВизуальные распечатки пустой страницы - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь распечатать некоторые файлы .png прямо на принтере.

Поэтому я настроил эту функцию:

    private void Print(string filepath)
    {
        LocalPrintServer printServer = new LocalPrintServer();
        PrintQueue printQueue = printServer.GetPrintQueue("PDFCreator");

        BitmapImage image = new BitmapImage();
        image.BeginInit();
        image.CacheOption = BitmapCacheOption.OnLoad;
        image.UriSource = new Uri(filepath);
        image.EndInit();


        PrintDialog printDialog = new PrintDialog
        {
            PrintQueue = printQueue
        };


        DrawingVisual visual = new DrawingVisual();
        var dc = visual.RenderOpen();
        dc.DrawImage(image, new System.Windows.Rect { Width = image.Width, Height = image.Height });

        printDialog.PrintVisual(visual, filepath);

    }

Сама печать работает правильно, но она просто печатает чистый лист бумаги.

1 Ответ

0 голосов
/ 16 ноября 2018

Вам необходимо вызвать dc.Close () , чтобы сбросить содержимое в DrawingVisual. Тогда он будет иметь содержание.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...