您好我们正在尝试创建一个基于诸如 WPF 页眉和页脚元素的自定义模板系统,以及用于导出到 PDF 的 2D 绘图的画布。问题是 XpsWriter 需要大约 7 秒来编写 XPS 文档,另外需要 3 秒才能使用 PDFSharp 转换为 pdf。当用户等待 PDF 时,我们需要把它记下来。我首先怀疑是因为FrameworkElements的数量,但只有5000个。框架元素大多是PATH数据,带有填充、笔触和画笔。
Canvas ComplexCanvas = new Canvas();
ComplexCanvas.Children.Add(5000Elements);
System.Windows.Documents.FixedDocument fixedDoc = new System.Windows.Documents.FixedDocument();
System.Windows.Documents.PageContent pageContent = new System.Windows.Documents.PageContent();
System.Windows.Documents.FixedPage fixedPage = new System.Windows.Documents.FixedPage();
//Create first page of document
fixedPage.Children.Add(ComplexCanvas);
fixedPage.Width = PageWidth;
fixedPage.Height = PageHeight;
((System.Windows.Markup.IAddChild)pageContent).AddChild(fixedPage);
fixedDoc.Pages.Add(pageContent);
System.Windows.Xps.Packaging.XpsDocument xpsd = new XpsDocument(Path, System.IO.FileAccess.Write);
System.Windows.Xps.XpsDocumentWriter xw = XpsDocument.CreateXpsDocumentWriter(xpsd);
xw.Write(fixedDoc);
xpsd.Close();
有谁知道加快速度的方法?也许某种类型的视觉对象,或以某种方式或任何想法“展平”画布。当它工作时,PDF 超过 5MB。
想尽可能保留它 VECTOR