Я разрабатываю веб-приложение, которое обрабатывает счета (функциональность не ограничивается счетами, но это не имеет значения). Одной из частей рабочего процесса является печать счета после его публикации. Это означает, что пользователь веб-сайта может выбрать 10-20 (и более) счетов и распечатать их сразу. Также может быть несколько шаблонов счетов, которые можно настраивать (это одно из ключевых требований).
Я должен также упомянуть, что мы решили создать PDF-файлы из HTML-кода, а затем распечатать его. Так как процесс создания PDF может занять некоторое время, мы решили использовать службу Windows для печати счетов.
Итак, подытожив, имеем следующие требования:
- Там должен быть настраиваемый счет
шаблоны;
- Пользователь сайта должен быть
возможность указать, какой шаблон он
хотите использовать с элементом счета
указано; * * 1 010
- Должна быть возможность
распечатать один или несколько выбранных
счета в один клик.
Нашей первой идеей было использование пользовательских элементов управления в качестве шаблонов счетов. Пользовательский элемент управления будет нести ответственность за макет счета. Это также означает, что для этих пользовательских элементов управления будет базовый класс, с помощью которого мы сможем определить источник данных для элементов управления.
В этом случае мы можем даже позволить пользователям изменять ascx-файл (или что-то подобное) для редактирования основных надписей, если это необходимо.
Проблема начинается с службы Windows, где мы не можем генерировать выходные данные для пользовательских элементов управления. Таким образом, другое решение заключается в использовании обработчика http или веб-службы для генерации вывода пользовательских элементов управления и передачи его в службу Windows. Но это усложняет решение (например, нам нужно использовать аутентификацию для этой и подобных проблем).
Может быть, есть гораздо более простой способ сделать это?
Заранее спасибо.