Самый простой способ создания документов с динамическим содержимым (таких как счета, накладные) - PullRequest
13 голосов
/ 02 марта 2011

Я искал в Интернете несколько результатов, но ни один из них, похоже, не подходит для этой задачи. Я искал возможности для .NET, но также хотел бы знать, как Java / PHP / и т. Д. разработчики заканчивают такие задачи.

Насколько я узнал, у меня есть возможность:

  1. Используйте MigraDoc / PDFSharp и идите по пути "кода", без какого-либо визуального дизайнера

  2. Я мог бы использовать HTML и преобразовать его в PDF (что является лучшим подходом в теории, но практически ужасно получить красивый HTML 1: 1 в файл PDF)

  3. Я мог бы использовать некоторые странные шаблоны MS Word для пакетной обработки

  4. Латекс

Какие у вас решения?

Ответы [ 11 ]

2 голосов
/ 02 марта 2011

Мы используем SoftArtisans OfficeWriter

1 голос
/ 12 марта 2011

Спасибо за все ваши ответы ...

Я наконец решил реализовать свое собственное решение с использованием Visual Studio 2010 и Office-Tools ... Это не "идеальное" решение, но его было легко и быстро реализовать, хотя у меня все еще есть возможность изменить документы ведьмы или слова ...

Недостаток, конечно: вам нужно установить Office.

1 голос
/ 10 марта 2011

Похоже, никто не упоминал о решениях на основе латекса, было переполнение стека. Tex вопрос , на который ответил jason Короткая версия: использует MikTex, красивые документы, большие хлопоты по использованию build / keep.

1 голос
/ 08 марта 2011

Аналогично решению Matt Fs с использованием Crystal Reports, я использую SQL Server Reporting Services.Вы можете создать добавить файл rdlc в свое решение и использовать редактор WYSIWYG для разработки своего отчета.Затем в вашем коде все, что вам нужно сделать, это назначить ваш источник данных для вашего отчета в коде, и это должно работать.Это даже поддерживает экспорт в PDF.

1 голос
/ 07 марта 2011

Один из методов, которые я использовал ранее для настольных приложений Windows, - это использование XAML / WPF. Хорошая особенность этого решения заключается в том, что существует множество хороших инструментов и документации по компоновке макетов с помощью XAML. Затем вы просто передаете холст PrintDialog, и все готово. Если вы уже много работали с WPF / XAML, это очень простое решение, и у меня был большой успех с ним. Я узнал большую часть того, что мне нужно, чтобы начать здесь: http://www.switchonthecode.com/tutorials/printing-in-wpf

Недостатком, конечно же, является ваша зависимость от .NET и WPF.

1 голос
/ 02 марта 2011

По поводу ваших "3.) странных шаблонов / шаблонов MS Word":

Я люблю использовать Aspose.Words , коммерческий пакет для создания / редактирования / экспорта документов Microsoft Office Word, без любых устанавливаемых компонентов Office.

Aspose.Words способен выполнять слияние с почтой и записывать PDF-файлы, поэтому я часто запускаю на своем настольном компьютере DOC, который я редактирую в Word, и использую его с Aspose.Words на моем сервере для создания PDF-файлов.

1 голос
/ 02 марта 2011

Решением, на котором мы остановились в предыдущем проекте, было XSL-FO. Хотя у него не было визуального дизайнера, мы обнаружили, что он очень удобен для разработчиков и более подходит для работы в среде серверного типа. Он также гораздо лучше справляется с «потоком документов», чем большинство программ для составления отчетов, которые предлагает дизайнер. Я знаю, что у нас было много проблем с Crystal Reports при развертывании, возникали исключения COM и ограничения на то, сколько отчетов можно создавать одновременно. Одним из недостатков использования XSL-FO является весь синтаксический сахар, который поставляется с XML.

В этом вопросе перечислены несколько двигателей XSL-FO.

0 голосов
/ 09 марта 2011

Кристаллические отчеты могут быть болью! На базовом уровне сторонние разработчики для нашего собственного программного обеспечения для заказа работ, счетов и т. Д. Мы используем Dev Express, хотя я думаю, что это может быть дорогостоящим.

Для отчетов, генерируемых программным обеспечением, я выбрал экспорт в формат CSV, который, конечно, может быть открыт любым программным обеспечением для работы с электронными таблицами

0 голосов
/ 02 марта 2011

Мы используем Crystal Reports, который поставляется бесплатно с Visual Studio. Вы можете легко создать отчет / документ, который связан с базой данных или не связан.

Например, вы можете подавить верхний и нижний колонтитулы, разверните раздел сведений до прибл. Размер A4, затем добавьте связанные поля или используйте параметры для несвязанного содержимого. Затем во время выполнения для связанных документов установите формулу выбора, чтобы получать данные только для одной транзакции или для несвязанных документов, просто передавайте параметры.

Приятной особенностью Crystal Reports является наличие функций экспорта, поэтому можно экспортировать в PDF, Word и т. Д. Кроме того, можно легко автоматически печатать на указанном принтере.

0 голосов
/ 02 марта 2011

Мы используем xaml FixedPage , можем использовать конструктор типа Kazaml , он обладает большой гибкостью компоновки, и привязка данных отлично работает с динамическими объектами, такими как expando.В коде мы связываем текстовый текст данных и затем визуализируем его в XPS, так как нам нужен конечный вывод в формате pdf, который мы используем GhostXPS , который является бесплатным, но должен выполняться в отдельных процессах, есть сторонние полностью управляемыеконвертеры для XP в PDF, хотя.

...