使用PDFsharp导入图形

Use PDFsharp to import graphics

我正在查看 PDFsharp (PDFsharp-wpf.1.50.5147\lib\net30\PdfSharp-wpf.dll),希望它可以用于导入矢量图形(路径、图像、文本)。 PDFsharp 代码示例主要是关于创建 PDF,但库中有一些解析和编辑功能。

PdfSharp.Pdf.PdfDocument pdfdoc = 
    PdfSharp.Pdf.IO.PdfReader.Open(uri, PdfSharp.Pdf.IO.PdfDocumentOpenMode.Modify);
if (pdfdoc == null)
    return;

foreach (PdfSharp.Pdf.PdfPage pdfpage in pdfdoc.Pages)
{
    PdfSharp.Drawing.XGraphics graph = PdfSharp.Drawing.XGraphics.FromPdfPage(pdfpage);

    // how to get XGraphicsPath, PathGeometry ?
    // the XGraphicsPathInternals has PathGeometry as WpfPath property 
}

是否可以枚举 XGraphics 的内容,将其转换为 System.Windows.Media.DrawingGroup 或类似内容,这样我就可以访问现有 PDF 页面中的图形基元,而无需解析页面内容流中的标记?

我有现有代码通过转换为中间 DrawingGroup 来处理 SVG 导入,如果有从 PDF 页面到绘图的方法,这些代码可能可重复用于 PDF。

XGraphics class 允许向 PDF 页面添加内容,但不解析 PDF 页面的现有内容。

PDFsharp 不解析页面内容流并提取绘图指令,因此您必须使用自己的代码来完成。