如何使用PDFsharp将system.drawing.graphics对象保存为PDF文件

本文关键字:保存 对象 PDF 文件 graphics drawing 何使用 PDFsharp system | 更新日期: 2023-09-27 17:53:48

我已经搜索了几个小时,试图找出如何做到这一点,但没有任何成功。

我确实找到了'FromGraphics'命令,该命令读取'system.drawing '。

将"graphics"对象添加到XGraphics类型中,但不确定如何将其添加到PDF输出。

我发现的大多数例子都显示了如何从现有文件中获取图像并将其保存为PDF,但是我如何使用已实际制作的预制system.drawing.graphics对象来做到这一点?

c#和/或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();
}

如何使用PDFsharp将system.drawing.graphics对象保存为PDF文件

简短示例:

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")

回答主要问题"如何使用PDFsharp将system.drawing.graphics对象保存为PDF文件?"
你不能这么做。您可以使用XGraphics类在PDF页面上、屏幕上、打印机上绘图。可以为PDF页面创建XGraphics对象,也可以从Graphics对象创建XGraphics对象。但是,使用XGraphics例程以外的方法在图形对象上绘制的任何内容都不会出现在PDF中。

另一个问题:"我如何改变一个像下面这样的例子来使用system.drawing.graphics对象?"
您需要一个XGraphics对象来绘制PDF。用户OneFineDay展示了如何得到一个。然后使用xg.DrawImage(...)在PDF页面上绘制图像。除非您还想在PDF页面以外的其他媒体上绘图,否则不需要图形对象。