Перенаправить код GDI прямо в PDF?

1

Есть ли способ перенаправить существующий код GDI в файл PDF?

У меня есть существующий проект.NET/С#, который печатает страницу, создав объект PrintDocument (PrintPageEventHandler, Graphics...). Теперь это приложение также должно создавать файлы PDF.

Я ищу решение, в котором нет необходимости устанавливать драйвер принтера в систему. Генерация PDF должна происходить непосредственно в нашем приложении без использования внешнего драйвера принтера.

Мы используем VStudio 2013 и.NET 4.5

  • 0
    Я думаю, что это невозможно. Вы либо используете принтер, либо пишете новый код, чтобы использовать какой-то API для генерации PDF.
  • 0
    В случае, если это поможет, компания, в которой я работаю, продает драйвер принтера PDF, который вы можете устанавливать / удалять программно из своего приложения до / после каждого задания на печать (администратор требуется в первый раз, обычно после установки приложения), так что это может быть " почти "невидим для конечного пользователя.
Показать ещё 2 комментария
Теги:
pdf
pdf-generation
gdi

1 ответ

0

PDFsharp использует объекты XGraphics, предназначенные для реализации функций объекта Graphics.

Это зависит от вашего кода, насколько сложно будет адаптировать его к объекту XGraphics.

Сайт PDFsharp:
http://pdfsharp.net/wiki/Graphics-sample.ashx

Скачиваний можно найти здесь:
http://pdfsharp.codeplex.com/releases

  • 0
    Я уже взглянул на PDFSHarp, но обнаружил, что его класс XGraphics НЕ является производным от класса Graphics. На самом деле это отдельный класс. Поскольку у меня есть существующий код, это не очень полезно для меня.
  • 0
    @ Георг: Да, все наоборот: объект XGraphics содержит объекты Graphics (при необходимости). Поэтому, когда вы один раз измените код для объекта XGraphics, вы сможете рисовать на объектах PDF и Graphics. Лучшее решение, которое я знаю, - и оно работает без драйвера принтера. Также с открытым исходным кодом и бесплатно для коммерческого использования.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню