Есть ли способ написать System.Drawing.Graphics в PDF из C #? - PullRequest
4 голосов
/ 16 сентября 2011

У меня есть целая куча 2D-графики, которая используется как для элементов управления рендерингом на экране, так и для печати. ​​Это довольно нестандартная графика, которую нельзя было сделать с помощью каких-либо сторонних инструментов отчетности или готовых элементов управления.

Программа может генерировать PDF-файлы с напечатанным содержимым, но когда я написал его, я обманул и просто распечатал объект Graphics в образе в памяти, а затем вставил его на страницу PDF.

Так какпользователи отправляют по электронной почте документы, которые, по их мнению, слишком велики.

Я начал писать PDF с нуля, используя iText, однако есть ли способ загрузить System.Drawing.Graphics контент непосредственно в PDF?Принцип работы iText и графики совершенно другой.

Ответы [ 4 ]

4 голосов
/ 16 сентября 2011

попробуйте эту библиотеку http://www.pdfsharp.com/PDFsharp/

Редактировать: Выше библиотека была перемещена в http://www.pdfsharp.net/

1 голос
/ 16 сентября 2011

Вы имеете в виду, что у вас есть System.Drawing.Image?Если это так, вы можете передать это непосредственно iTextSharp.text.Image.GetInstance(), что даст вам объект iTextSharp Image.В противном случае вы можете рисовать прямо на холсте PDF, см. Этот пост для более.

1 голос
/ 16 сентября 2011

Вы можете направить рисунок с графикой в ​​WMF (EMF), а затем передать его в iText.

0 голосов
/ 17 сентября 2011

Один (хакерский) способ - просто использовать драйвер принтера PDF, например , этот .Вы можете повторно использовать тот же код GDI + через API печати. ​​

...