Распечатать изображение в файл, используя PrintDocument - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть проект C # (ClassLibrary в проекте ASP.NET MVC)

Я хочу напечатать изображение (System.Drawing.Image) в файл, используя PrintDocument

private static void SendToPrinter(Image barkod)
{
    PrintDocument pd = new PrintDocument();
    pd.PrinterSettings = new PrinterSettings
    {
        PrinterName = "Microsoft XPS Document Writer",
        PrintToFile = true,
        PrintFileName = @"D:\f.jpg"
    };

    pd.PrintPage += (o, e) => 
    {
        Point loc = new Point(100, 100);
        e.Graphics.DrawImage(barkod, loc);
    };
    pd.Print();
    barkod.Dispose();
}

Происходит то, что файл создается в определенном месте, но когда я пытаюсь открыть изображение, я получаю сообщение об ошибке

Программа просмотра фотографий Windows не может открыть это изображение, так как программа просмотра фотографий не поддерживаетэтот формат файла, или у вас нет последних обновлений для Photo Viewer.

enter image description here

1 Ответ

0 голосов
/ 11 декабря 2018

XPS Document Writer печатает в формате * .xps или * .oxps.

Вам необходимо рассмотреть возможность преобразования xps | oxps в .jpg

изменить расширение файла на xps

PrintFileName = @"D:\f.xps"
...