Вопрос по c#, sql-server-2008 – Как создавать документы (docx или pdf) из SQL Server?

12

Я знаю, что это немного субъективно, но я смотрю на следующую ситуацию:

Мне нужно автоматически создать ряд документов из данных в базе данных SQL Server. В базе данных будет размещено приложение MVC3, позволяющее вводить данные и т. Д. И (возможно) «Перейти». кнопка для производства документов.

Должна существовать некоторая бизнес-логика в отношении того, как эти документы создаются, именуются и хранятся (например, «родительские» документы получают одно имя и помещаются в одну папку, «дочерние» документы получают вычисленное имя и помещаются в подпапку).

Документы могут быть в формате PDF или Doc (x) (или даже оба), если выходные данные могут быть в формате EN-US и AR-QA (текст RTL)

Я знаю, что есть несколько вариантов из SSRS, Crystal Reports, VSTO, & quot; ручной & quot; PDF в коде, слияние по почте и т. Д. ... и у нас уже есть инструмент HTML в PDF, если он нужен?

Есть ли у кого-нибудь реальный совет о том, как это сделать и что такое «лучше всего»? (самый прагматичный) подход был бы? Меньше «дополнений» Мне нужно установить и настроить на сервере, тем лучше - чем быстрее разработка, тем лучше (как всегда !!)

Выводы на данный момент:

Word Mail Merge (or VSTO) Просто не предлагает той простоты, контроля и гибкости, которые мне требуются - действительно позор. Было бы неплохо определить dotx и иметь возможность передавать ему данные на индивидуальной основе для генерации docx. Единственный способ, которым я мог добиться этого (и я могу ошибаться здесь), - циклически проходить по элементам управления / закладкам по имени и заменять значения ... грязно.

OpenXML Создание документов на основе шаблонов dotx, даже с использованием OpenXML, не так просто, как должно быть. Вы должны заменить каждый элемент управления содержимым по имени, поэтому обслуживание не самая простая задача.

SSRS На первый взгляд, это хорошее решение (хотя для этого требуется SQL Enterprise), однако оно усложняется, если вы хотите динамически создавать папки и документы. Тем не менее, управляемая данными подписка очень близка к тому, что я хочу.

Winnovative HTML to PDF Convertor* Это инструмент, который у нас уже есть (хотя версия .Net 2.0). Это позволяет мне генерировать HTML-страницы и конвертировать их в PDF. Хороший вариант для меня, так как я могу запустить это на веб-сайте MVC3 и передать параметры в контроллеры для генерации PDF-файлов. Это дает мне более детальный контроль над папками и структурами именования - проблема с этим методом заключается в том, чтобы просто генерировать страницы правильным образом. Бонус в том, что он автоматически дает мне «предварительный просмотр» ... в основном только HTML-страницу!

Нет, это не выходило за рамки приведенного выше списка ... в основном пошло с тем, что у нас уже было, но обновлено до версии .Net 4.0. BlueChippy
Это действительноData-Driven subscription в SSRS (что требует наличия Enterprise Edition) или просто отчет по требованию? яthink Вы можете использовать встроенный RS-клиент для визуализации непосредственно в PDF или Word или просто представить отчет пользователю на своей веб-странице и разрешить ему направлять действия по сохранению. billinkc
Приятно, что вы редактируете оригинальный пост в качестве ссылки. Вам довелось проверить возможности таких технологий, как Silverlight и WPF? Steffe
Для отдельного отчета это было бы здорово, однако конечный результат (в данном случае) представляет собой иерархию отчетов нескольких уровней. По сути, нам необходимо составлять конкретные отчеты для всех наших клиентов, их акционеров, членов совета директоров и дочерних компаний, включая их акционеров, членов совета директоров и т. Д., Для регулирующего органа. Существуют правила о том, на каком уровне сообщается каждый и т. Д. BlueChippy

Ваш Ответ

3   ответа
4

T могут быть сильным инструментом для форматирования вашего контента. Эта технология не позволит вам создавать PDF-файлы.

Быстрая разработка без использования сторонних компонентов будет затруднена. Но если вы решите использовать сервер отчетов, обязательно проверьте BIRT или Jasper.

Для создания PDF-файлов я использовал устаревший Report.net. Он имеет много портов для разных языков и все еще достаточен для создания простых PDF-файлов.Report.net на sourceforge

0

только если у вас все в порядке с настройкой на сервере и существует определенная необходимость в расписании отчетов и сложных отчетах.

Если у вас есть код для ручной генерации PDF / docx, я бы предложил продолжить. Надеюсь, сложность его кода не имеет значения для вас.

Я использовал оба в отдельных сценариях. Мы использовали классы Excel и объекты из .NET для минимальной отчетности из веб-приложения.

Но пошел на сложную схему отчетности для системы, которая требовала, чтобы тысячи отчетов были созданы в запланированном порядке и доставлены выбранному набору людей.

Спасибо - планирование не требуется, скорее это возможность заменить заглушки данными в «шаблоне». какой-то вид, а затем сохранить в определенные места / имена. BlueChippy
2

что сам SQL Server может производить PDF-файлы. Как вы упомянули, вы можете установить экземпляр SSRS и создать отчет, который предоставит вам необходимую информацию. Затем вы можете создать подписку, чтобы доставить свой отчет туда, куда вы хотите, когда вы хотите.

Вот пример простой подписки: enter image description here

да, при обычной подписке вы можете создавать динамические имена файлов (см. параметры перезаписи) на экране печати. Если вам нужно что-то более сложное, например, динамические папки, вам нужна подписка на data_driven
Может ли SSRS создать динамическую структуру папок / имя файла? BlueChippy

Похожие вопросы