【问题标题】:Use PDFsharp to import graphics使用 PDFsharp 导入图形
【发布时间】:2019-10-14 16:01:51
【问题描述】:

我正在查看 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 页面中的图形基元,而无需解析页面内容流中的标记?

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

【问题讨论】:

    标签: c# wpf pdfsharp


    【解决方案1】:

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

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

    【讨论】:

    • 当然这是一个正确的答案。但是,它没有提供任何实用建议,也没有添加任何新信息,因为问题本身的陈述是相同的。
    • OP 中有一个问题“是否可以枚举 XGraphics 的内容……?”答案是“不”。我回答了您明确提出的问题,而不是您想到的问题。答案提供了问题中未提供的信息,即使它不是您希望的答案。 PDFsharp 不会解析页面内容流并提取绘图指令,因此您必须使用自己的代码来完成。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-01
    相关资源
    最近更新 更多