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