В настоящее время мы отправляем уведомление по электронной почте в формате простого текста или HTML. Наша среда - это C# /. NET / SQL Server.
Я хотел бы знать, рекомендует ли кто-нибудь конкретное решение. Я вижу два способа сделать это:
или же
Я открыт для сторонних библиотек (особенно если они с открытым исходным кодом и бесплатны). Кажется, что SSRS - самый простой и легкий путь. У кого-нибудь есть советы?
Может быть полезно добавить дополнительную информацию, которую нелегко представить в текстовом электронном письме в формате PDF, но нет смысла преобразовывать существующее электронное письмо в PDF.





iText-Sharp
Работает очень похоже на java-версию, и в ней есть как отличная документация, так и множество книг.
Вы можете использовать iTextSharp для преобразования ваших html-страниц в pdf. Вот пример:
class Program
{
static void Main(string[] args)
{
string html =
@"<html>
<head>
<meta http-equiv = ""Content-Type"" content = ""text/html; charset=utf-8"" />
</head>
<body>
<p style = ""color: red;"">Hello World</p>
</body>
</html>";
Document document = new Document(PageSize.A4);
using (Stream output = new FileStream("out.pdf", FileMode.Create, FileAccess.Write, FileShare.None))
using (StringReader htmlReader = new StringReader(html))
using (XmlTextReader reader = new XmlTextReader(htmlReader))
{
PdfWriter.GetInstance(document, output);
HtmlParser.Parse(document, reader);
}
}
}
базовая строка - это просто раздел div <div> stuff </div>. файл создается, но не может быть открыт. работает ли опубликованный вами код или это был просто макет?
Если вам нужно только простое преобразование html -> pdf, посмотрите wkhtmltopdf. Это бесплатная утилита командной строки с открытым исходным кодом на основе webkit.
Если вам нужно что-то более сложное, например, подготовить несколько шаблонов или сохранить историю выходных PDF-файлов. Посмотрите на сервер отчетов jsreport
Все электронные письма должны быть в виде обычного текста. HTML - это плохо, а PDF - хуже. Не могли бы вы объяснить SO Зачем, что вы так пытаете своих людей?