Используйте PDFsharp для импорта графики - PullRequest
0 голосов
/ 14 октября 2019

Я смотрю на 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 путем преобразования в промежуточную DrawingGroup, который может быть повторно использован для PDF, если был путь от страницы PDF до Drawing.

1 Ответ

1 голос
/ 19 октября 2019

Класс XGraphics позволяет добавлять содержимое на страницу PDF, но не анализирует существующее содержимое страницы PDF.

PDFsharp не анализирует поток содержимого страницы и не извлекает инструкции рисования, поэтому высделать это с помощью собственного кода.

...