Как сохранить объект system.drawing.graphics в файл PDF с помощью PDFsharp?

Я часами искал, пытаясь выяснить, как это сделать безуспешно.

Я нашел команду "FromGraphics", которая считывает объект "system.drawing.graphics" в тип XGraphics, но не уверен, как добавить это в вывод PDF.

Большинство примеров, которые я нахожу, показывают, как взять изображения из существующего файла и сохранить их в PDF, но как мне сделать это с готовым объектом system.drawing.graphics, который был сделан прагматично?

AC# и / или VB.net пример будет очень признателен вместо GIF.

Например, как мне изменить пример, подобный следующему, чтобы использовать объект system.drawing.graphics?

string pdfpath = Server.MapPath("PDFs");
string imagepath = Server.MapPath("Images");
Document doc = new Document();
try
{
  PdfWriter.GetInstance(doc, new FileStream(pdfpath + "/Images.pdf",   FileMode.Create));
  doc.Open();

  doc.Add(new Paragraph("GIF"));
  Image gif = Image.GetInstance(imagepath + "/mikesdotnetting.gif");
  doc.Add(gif);
}
catch (Exception ex)
{
  //Log error;
}
finally
{
  doc.Close();
}

2 ответа

Краткий пример:

Dim pdfDoc As New PdfDocument
Dim page As New PdfPage
pdfDoc.Pages.Add(page)
Dim xg = XGraphics.FromPdfPage(page)
 'use the xg object to draw on the pdf page
pdfDoc.Save("path to file")

Чтобы ответить на главный вопрос "Как сохранить объект system.drawing.graphics в файл PDF с помощью PDFsharp?"
Вы не можете сделать это. Вы можете использовать класс XGraphics для рисования на страницах PDF, на экране, на принтере. Вы можете создать объект XGraphics для страницы PDF или из объекта Graphics. Но все, что было нарисовано на объекте Graphics с помощью подпрограмм XGraphics, не будет отображаться в PDF.

Другой вопрос: "Как мне изменить пример, подобный следующему, чтобы использовать объект system.drawing.graphics?"
Вам нужен объект XGraphics для рисования в PDF. Пользователь OneFineDay показал, как его получить. Тогда вы используете xg.DrawImage(...) рисовать изображения на странице PDF. Вам не нужен объект Graphics, если вы также не хотите рисовать на других носителях, кроме страниц PDF.

Другие вопросы по тегам