PDFSharp с шаблоном XML в C # - PullRequest
       20

PDFSharp с шаблоном XML в C #

1 голос
/ 28 декабря 2011

Я использую PDFSharp в моем проекте c #. На моем предыдущем рабочем месте я использовал компонент PDF от aspose, и в этом компоненте ASPOSE предоставил функцию шаблона xml, где я просто определил шаблон документа pdf в формате xml и сохранил его на жесткий диск, а затем из кода C # я открывал этот шаблон качая мои данные и в результате он писал PDF.

Было тихо, быстро, и я смог достичь производительности.

Могу ли я добиться того же, используя PDFSharp или любой другой бесплатный компонент с открытым исходным кодом.

Я имею в виду, что я хочу определить свой документ pdf в формате xml и использовать его из любых открытых хороших компонентов с открытым исходным кодом, таких как pdfshpar или Itext и т. Д.

Пожалуйста, помогите

Спасибо

Ответы [ 2 ]

4 голосов
/ 22 октября 2012

Не знаю, работаете ли вы над этим, но я попробовал вот что.

MigraDoc может импортировать и интерпретировать формат MDDDL. Используя это легко написать «текстовый» файл, который содержит весь статический текст шаблона. Когда дело доходит до динамических вещей, все зависит от того, что вы добавляете:

  • Для текста просто добавьте маркеры, как при написании, скажем, ASP.Net <%MyMarker%>
  • Для изображений вы можете попробовать поместить маркер типа <%ImageURL%> в URL-адрес изображения или в комментарии
  • Для таблиц это усложняется либо:
    • Вы можете поставить пустую таблицу с маркером <%dataTable%> в комментариях
    • вы можете создать таблицу со столбцами и первой строкой (если она имеет заголовки) и поставить маркер в комментариях
    • Вы можете создать 2 таблицы, одну для «пустых данных» и одну, как предыдущие, со столбцами и первой строкой. В этом случае маркер будет выглядеть примерно так: <%MyTable{0}%> в комментариях для пустой таблицы и <%MyTable{1}%> в комментариях в случае данных в источнике.

Как только MigraDoc загрузит «шаблон», легко будет рекурсивно сканировать элементы и заменять маркеры. Возможно, это не самый быстрый способ создания документов, но он избавляет меня от перекомпиляции всего приложения каждый раз, когда клиент хочет добавить пробел в отчете.

0 голосов
/ 31 декабря 2011

PDFsharp / MigraDoc не поддерживает шаблоны XML.

Вы можете создавать документы из кода (на любом языке .NET) и загружать ваши данные там, где вам это нужно.

Это может бытьнемного больше работы, чем обычные генераторы отчетов, но это дает вам гораздо большую гибкость, чем любое решение на основе шаблонов.

...