Я пытаюсь создать «отчет», создав PDF на основе HTML.
Сначала я просто попытался записать необработанный кодированный HTML в документ, а затем распечатать этот документ с использованием Javascript. Однако это не давало мне никакого контроля над заголовками и колонтитулами.
Я попытался использовать элементы thead
и tfoot
, которые довольно хорошо работали в большинстве браузеров, однако я не смог получить форматирование, которое искал.
В настоящее время - я пытаюсь работать над решением на стороне сервера, используя iTextSharp в MVC3, однако я немного растерялся относительно того, что делать дальше, так как не работал с iTextSharp.
Ввод и описание выхода:
При создании отчета будет использовано 4 элемента:
- Содержание отчета (который в настоящее время кодируется в формате HTML, так как я не уверен, изменит ли декодирование какое-либо форматирование)
- Заголовок отчета (будет просто именем сгенерированного PDF)
- Заголовок отчета (будет отображаться в верхнем левом углу каждой страницы)
- Нижний колонтитул отчета (будет отображаться в левом нижнем углу каждой страницы)
Действие контроллера:
//This will be accessed by a jQuery Post
[HttpPost]
public FileStreamResult GeneratePDF(string id)
{
//Grab Report Item
ReportClass report = reportingAgent.GetReportById(id);
Document doc = new Document();
//Do I need to decode the HTML or is it possible to use the encoded HTML?
//Adding Headers / Footers
//Best method of returning the PDF?
}