Я реализовал отчет в стандартных элементах WPF, а также реализовал DocumentPaginator
, чтобы взять эти элементы управления и преобразовать их в документ для печати.
Я также реализовал некоторый код, который использует документ-указатель, чтобы отображать страницы на изображения и записывать их в PDF с помощью PDFSharp, однако это не позволяет копировать и вставлять, также качество изображения сомнительно.
Я экспериментировал с утилитой GhostXPS и думал о ее использовании, сохраняя документ XPS, а затем используя GhostXPS, чтобы преобразовать его в PDF, это было многообещающим, однако текущая версия содержит ошибку, которая делает данные, скопированные из сгенерированного PDF бесполезными...
Итак, я подумал, что попрошу здесь попытаться найти эффективный метод для этого. Может ли кто-нибудь предложить хороший способ взять DocumentPaginator
и либо сохранить его прямо в PDF, с возможностью копирования/вставки или преобразовать его из документа XPS в PDF с помощью этой функции?
Спасибо, Алекс.
EDIT - исправление PDFSharp: Хорошо, как запрошено здесь, это то, что я сделал, чтобы скомпилировать исправление для конвертера PDFSharp 1.31 XPS:
1) Я скачал источник отсюда:
2) Я выполнил инструкцию в этом сообщении:
XpsParser.ImageBrush.cs (ln 22, added): brush.Opacity = 1;
PdfContentWriter.cs (ln 526, changed): if (opacity <= 1)
3) Затем просто скомпилируйте источник, сначала откройте "PdfSharp-WPF.csproj" и постройте его, затем откройте "PdfSharp.Xps.csproj" и постройте его, а соответствующие библиотеки - "PdfSharp-WPF". dll 'и' PdfSharp.Xps.dll '
Обратите внимание, что при попытке создать источник вы, вероятно, получите несколько ошибок в зависимости от той версии .NET, на которую настроена таргетинг, это просто исправить, если вы просто прочитали сообщения об ошибках.
EDIT (2): NJones создал сообщение в блоге с более подробной информацией об исправлении PdfSharp: Выход в PDF в WPF