PDFsharp页面大小和设置保证金问题c#

我正在使用PDFsharp lib将图像转换为pdf。 我需要设置保证金和页面大小,所以我从这个论坛得到一个技巧来设置页面大小和页边距。 从这里我得到了我用过的代码但是两个区域的错误。 这是我得到的代码。

page = document.AddPage(); //page.Size = PdfSharp.PageSize.A4; XSize size = PageSizeConverter.ToSize(PdfSharp.PageSize.A4); if(page.Orientation == PageOrientation.Landscape) { page.Width = size.Height; page.Height = size.Width; } else { page.Width = size.Width; page.Height = size.Height; } // default unit in points 1 inch = 72 points page.TrimMargins.Top = 5; page.TrimMargins.Right = 5; page.TrimMargins.Bottom = 5; page.TrimMargins.Left = 5; 

这条线路出错了

 XSize size = PageSizeConverter.ToSize(PdfSharp.PageSize.A4); 

所以我需要改变它

 System.Drawing.Size size = PageSizeConverter.ToSize(PdfSharp.PageSize.A4); 

现在我的程序编译但是当我设置边距然后我得到错误称为PdfSharp不包含TrimMargins的定义

这些以下行不会编译设置保证金。

  pdfPage.TrimMargins.Top = 5; pdfPage.TrimMargins.Right = 5; pdfPage.TrimMargins.Bottom = 5; pdfPage.TrimMargins.Left = 5; 

我使用的是pdf sharp库版本1.0.898.0

所以指导我如何设置保证金。

这是我从图像文件生成pdf的完整代码

 public static string GeneratePdfFromImage(string source) { string destinaton = source.Replace("gif", "pdf"); PdfDocument doc = new PdfDocument(); PdfPage pdfPage = new PdfPage(); System.Drawing.Size size = PageSizeConverter.ToSize(PdfSharp.PageSize.A4); pdfPage.Orientation = PageOrientation.Portrait; pdfPage.Width = size.Width; pdfPage.Height = size.Height; pdfPage.TrimMargins.Top = 5; pdfPage.TrimMargins.Right = 5; pdfPage.TrimMargins.Bottom = 5; pdfPage.TrimMargins.Left = 5; doc.Pages.Add(pdfPage); XGraphics xgr = XGraphics.FromPdfPage(doc.Pages[0]); XImage img = XImage.FromFile(source); try { xgr.DrawImage(img, 0, 0); doc.Save(destinaton); doc.Close(); } catch (Exception ex) { destinaton = ""; } return destinaton; } 

您无法使用PDFsharp设置边距 – 您可以在绘制项目时在页面上保留边距。

您复制的代码来自MigraDoc。 MigraDoc包含在PDFsharp中,但是在不处理页面的更高级别上工作,而是处理部分,在这里您可以设置边距。

有关详细信息,请访问PDFsharp和MigraDoc的网站:
http://pdfsharp.net/
还有一个PDFsharp示例,显示如何设置页面大小。

使用PDFsharp时,您可以在页面的任何位置绘制图像,还可以指定图像的大小。