Создание титульного листа силами iTextSharp для PDF - C#
Формулировка задачи:
Доброго дня. Есть задача создать титульный лист. Я использую библиотеку iTextSharp. Возникает вопрос как это сделать? Как добавить пробелы, отступы и тому подобное? Гуглил интернет и понял, что можно использовать силы html для решения такой задачи, но как понял, что и iTextSharp вполне неплохо справится, но кода займет это больше. Создал табличный html файлик где основные поля для титульного листа:
Возникает вопрос как его добавить в pdf файл с заменой полей? Так же вопрос, стоит ли игра свеч с html, может стоит сделать как-то иначе? Читал, что как-то можно сделать html "маску" в которую можно будет всё подставлять, но не могу найти и понять как и куда?
А так же вопрос как сделать титульный лист силами только библиотеки iTextSharp?
Прошу подсказать как это сделать и как лучше.
Заранее спасибо.
Листинг программы
- <!DOCTYPE html>
- <head>
- <meta http-equiv="Content-Type"content="text/html;charset=utf-8">
- <title>Отчет</title>
- </head>
- <body>
- <table border="1">
- <tr>
- <td><h1 align="center">Организация *********</h1></td>
- </tr>
- <tr>
- <td>
- <p align="center">Тема:</p>
- <p align="center">"***********"</p>
- </td>
- </tr>
- <tr>
- <td>
- <div align="right">
- <p>Выполнил:</p>
- <p>*********************</p>
- <br>
- </div>
- </td>
- </tr>
- <tr>
- <td><p align="center">Город, год****************<p></td>
- </tr>
- </table>
- </body>
- </html>
Решение задачи: «Создание титульного листа силами iTextSharp для PDF»
textual
Листинг программы
- private static void Main(string[] args)
- {
- using (FileStream fs = new FileStream("file.pdf", FileMode.Create, FileAccess.Write))
- {
- Document doc = new Document(PageSize.A4);
- PdfWriter writer = PdfWriter.GetInstance(doc, fs);
- doc.Open();
- string ttf = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts), "ARIAL.TTF");
- BaseFont bf = BaseFont.CreateFont(ttf, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
- PdfContentByte cb = writer.DirectContent;
- cb.Rectangle(10f, 10f, doc.PageSize.Width - 20f, doc.PageSize.Height - 20f);
- cb.SetFontAndSize(bf, 40);
- cb.BeginText();
- cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "DOCUMENT TITLE", 300f, doc.PageSize.Height - 100f, 0);
- cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, DateTime.Now.Year.ToString("#### г."), 300f, 100f, 0);
- cb.EndText();
- cb.Stroke();
- Font f = new Font(bf, 14);
- ColumnText ct = new ColumnText(cb);
- string text = "На дощатой террасе вблизи можжевельника, жена небезызвестного местного подьячего веснушчатая Аграфена Саввична исподтишка потчевала коллежского асессора Аполлона Филипповича моллюсками и винегретом под аккомпанемент аккордеона и виолончели.";
- ct.SetSimpleColumn(new Phrase(new Chunk(text, f)),40, 600, doc.PageSize.Width - 40f, 0, 30, Element.ALIGN_LEFT | Element.ALIGN_TOP);
- ct.Go();
- doc.Close();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д