Как печатать отчеты в Silverlight 4 - PullRequest
3 голосов
/ 18 мая 2010

Мне интересно, есть ли что-нибудь встроенное в Silverlight или, возможно, c # для печати отчетов?

Я был бы рад любому количеству способов: экспортировать файлы в формат pdf и печатать оттуда, экспортировать как какой-то текстовый документ и печатать оттуда, или просто показывать диалог печати из самого веб-приложения. .

Я знаю, что есть способы сделать это в C #, но выделение кода c # отличается для многих вещей в приложениях Silverlight, и я не могу найти ничего, что будет работать.

Так что, если у кого-то есть идеи о том, что я мог бы попробовать, это было бы очень признательно!

Ответы [ 2 ]

4 голосов
/ 18 мая 2010

Silverlight имеет встроенную поддержку растровой печати начиная с версии 4. Хорошую информацию вы можете найти в блоге Шона: http://wildermuth.com/2009/11/27/Silverlight_4_s_Printing_Support

Как я уже сказал, это только на основе растровых изображений, с недостатками, которые идут с растровыми изображениями (без надлежащего масштабирования и т. Д.).

Еще один хороший обходной путь, который мне нравится, - это преобразование данных, которые вы хотите распечатать, в PDF на стороне сервера. Вы можете разместить веб-службу на сервере, отправить данные для печати с клиента на сервер через эту службу, а затем на сервере использовать, например, Acrobat Distiller или любая другая утилита для печати PDF, которая вам нравится, для создания PDF-файла. Когда генерация PDF завершена, сервер отправляет клиенту URL-адрес, который указывает на вновь созданный PDF-файл. В приложении Silverlight вы можете просто открыть этот URL, например, в новом окне. Однако это скорее экспорт PDF, а не печать, поскольку PDF будет открываться только на стороне клиента, но не печататься автоматически.

Создание PDF на стороне клиента, в отличие от этого, по умолчанию невозможно в Silverlight. Однако существуют сторонние библиотеки, которые могут это сделать.

Ура, Алекс

2 голосов
/ 19 мая 2010

Вы также можете проверить простую программу отчетов Пита Брауна Silverlight 4: http://10rem.net/blog/2010/05/09/creating-a-simple-report-writer-in-silverlight-4

Более полнофункциональный, но требовательный (требует сервер ASP.NET) вариант - это Perpetuum's SharpShooter: http://www.perpetuumsoft.com/Report-Sharp-Shooter-for-Silverlight.aspx

...