Как печатать PDF в UWP без потери качества после растеризации в PNG
После некоторого исследования печати в UWP я выделил:
Не существует встроенного способа печати PDF-документа непосредственно из вашего приложения без перенаправления этой задачи в Edge или другую аналогичную программу.Существует способ распечатать элементы XAML (например, изображение), используяPrintDocument.Существует встроенный способ рендеринга PDF в PNG с использованиемPdfDocument учебный классЭти три пункта дают нам возможность распечатать PDF, но у нас есть проблема здесь:
После растеризации в PNG качество выходного документа довольно низкое.К счастью,PdfDocument позволяет увеличить выходное разрешение при растеризации, но ...
Но это потребляет память (разрешение x4 приводит к потреблению памяти x32)Но это отнимает много времени (разрешение x4 приводит к потреблению времени x7)Даже при разрешении выходного изображения x4 качество все еще так далеко от желаемого.Итак, я создал образец, с которым вы можете игратьhttps://github.com/VitaliyPusan/UwpPrinting
Например, Microsoft Edge может печатать PDF в довольно хорошем качестве и делать это быстро и без дополнительного потребления памяти, но я понятия не имею, как я могу сделать то же самое.
Кто-нибудь знает лучший способ печати PDF в UWP?