В настоящее время у меня есть «PrintingWebService», который я вызываю со страницы AJAX со всей информацией, необходимой для создания настраиваемой распечатки PDF с использованием PDF Sharp и режима PDFSharp GDI +, который принимает DrawString и другие команды, которые работают в основном просто как и GDI +, только они нарисованы в PDF.
Затем я сохраняю файл PDF в папку на веб-сервере и возвращаю имя файла из веб-службы, и на странице AJAX открывается новое окно с файлом PDF.
Пока что это работает хорошо, однако есть одна часть моей страницы AJAX, которую я хочу распечатать, и я пока не нашел решения. У меня есть строка HTML-содержимого редактора TinyMCE, которую я хочу отобразить в нижней части страницы PDF.
Я ищу какой-нибудь инструмент, который мог бы использовать для этой цели. Даже что-то с открытым исходным кодом, которое печатается в GDI +, я мог бы использовать, взяв исходный код и переведя его для использования GDI + PdfSharp (имена классов похожи на XGraphics, каждый класс имеет X перед именем GDI +).
Если потребуется, я ограничу то, что HTML может генерироваться TinyMCE, и напишу свой собственный рендерер, но это будет большой проблемой, поэтому я сначала ищу другие решения.
Я остался в стороне от подхода к печати, удобного для печати, потому что я хотел создать страницу, которая была бы почти идентична существующей распечатке WinForms, используя мой существующий код. С помощью PdfSharp я смог преобразовать весь код, кроме текстовой области (в которой использовались RichTextBox и RTF в версии WinForms).