Любая идея, как визуализировать PDF-файл с помощью iTextSharp, чтобы он отображал страницу с помощью CSS. CSS можно либо встроить в HTML, либо передать отдельно, мне все равно, просто хочу, чтобы он работал.
Конкретные примеры кода приветствуются сильно.
Кроме того, я бы очень хотел придерживаться iTextSharp, хотя, если у вас есть предложения по чему-то еще, он должен быть бесплатным, с открытым исходным кодом и иметь лицензию, позволяющую использовать его в коммерческом программном обеспечении.
Взгляните на этот похожий вопрос.





Сейчас это невозможно, но ничто не мешает вам начать проект с открытым исходным кодом, который сделает это. Я мог бы начать один, потому что он мне тоже нужен!
В основном вам понадобится парсер, который преобразует разметку html и css в классы iTextSharp. Итак, <table> превратился в iTextSharp.SimpleTable и так далее.
Было бы легко придумать прототип, который мог бы работать с ограниченным подмножеством html и css.
Обновлять: До тех пор, пока это будет возможно, я вот как временно решил для себя. Всего два шага:
Сделайте все свои отчеты html удобными для печати, предоставив таблицы стилей для печати.
Если некоторые из ваших многостраничных отчетов должны иметь заголовки на каждой странице, настройте их в теге THEAD html.
Теперь пользователи смогут удобно печатать, и если они выберут драйвер принтера PDFCreator, они даже смогут получать отчет в формате PDF (есть и другие драйверы для принтеров PDF, но этот бесплатный и с открытым исходным кодом).
Также я знаю, что HTML не так гибок, как PDF, но этого может быть достаточно. Я проводил несколько тестов с реальными пользователями, и им это действительно понравилось, потому что теперь они не только могут печатать что угодно в PDF (даже за пределами моего приложения), но и их рабочий процесс стал быстрее, потому что им не нужно загружать и ждать, пока откроется их программа для чтения PDF-файлов. вверх. они просто распечатывают (или экспортируют в pdf) то, что видят на веб-сайте, прямо из своего веб-браузера ... это имеет смысл.
Ха ... если бы у меня было время. Я бы стал, если бы я еще не работал над другим проектом, для которого я пытаюсь использовать iTextSharp. К тому же ... у меня парсеры сосут ...
Вы должны проверить Rotativa. Вот и Сообщение блога, в котором объясняется, как получить его с помощью диспетчера пакетов Nuget. Он основан на wkhtmltopdf, который Мик упомянул в другом ответе.
Попробуйте WKHTMLTOPDF.
Это реализация webkit с открытым исходным кодом. Оба бесплатны.
Мы установили небольшой туториал здесь
Это отстой! вроде действительно, он иногда 100% потребляет процессор!
@ShilpaSoni странно, мы используем его в производстве годами и никогда не испытывали никаких проблем с процессором (или другими)
Возможно, у вас менее сложный HTML.
List<DateTime[]> getListWeeks(int annee)
{
List<DateTime[]> weeks = new List<DateTime[]>();
DateTime beginDate = new DateTime(annee, 1, 1);
DateTime endDate = new DateTime(annee, 12, 31);
int nb =(int)beginDate.DayOfWeek;
DateTime monday = beginDate.AddDays(-nb+1); ;
DateTime saturday = monday.AddDays(6);
while (monday < endDate)
{
weeks.Add(new DateTime[] { monday, saturday });
monday = monday.AddDays(7);
saturday = monday.AddDays(6);
}
return weeks;
}
Я собираюсь использовать iTextSharp для своего нового проекта RealEstate, я создам PDF-файл из выбранных владений и отправлю его на печать. Если то, что вы упомянули об использовании css, возможно, было бы здорово. Надеюсь, кто-нибудь даст нам подробный ответ на ваш вопрос. Спасибо