我正在使用 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;
}