保存文件后,如何才能拥有XGraphics实例?我已在全球范围内声明了PdfDocument和XGraphics:
private PdfDocument pdf;
private XGraphics gfx;
但是在我使用pdf.Save(filepath)之后; gfx变为null。如何避免?
答案 0 :(得分:1)
使用PDFsharp有两种方法可以解决这个问题。
创建PDF两次:一次没有预览日期,一次是最后一次打印日期。如果PDF生成需要很少的时间,这将是一种合适的方式。
重新打开PDF文件并获取新的gfx以修改页面
使用document = PdfReader.Open(filenameDest, PdfDocumentOpenMode.Modify);
打开文件XGraphics gfx = XGraphics.FromPdfPage(document.Pages[0]);
以获取第一页的新gfx
如果PDF生成需要更长时间,此方法也适用
为节省时间,您可以保存到MemoryStream并重新打开PDF以便从MemoryStream进行修改。
还在PDFsharp forum上进行了讨论。