Создание титульного листа силами iTextSharp для PDF - C#

Узнай цену своей работы

Формулировка задачи:

Доброго дня. Есть задача создать титульный лист. Я использую библиотеку iTextSharp. Возникает вопрос как это сделать? Как добавить пробелы, отступы и тому подобное? Гуглил интернет и понял, что можно использовать силы html для решения такой задачи, но как понял, что и iTextSharp вполне неплохо справится, но кода займет это больше. Создал табличный html файлик где основные поля для титульного листа:
<!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>
Возникает вопрос как его добавить в pdf файл с заменой полей? Так же вопрос, стоит ли игра свеч с html, может стоит сделать как-то иначе? Читал, что как-то можно сделать html "маску" в которую можно будет всё подставлять, но не могу найти и понять как и куда? А так же вопрос как сделать титульный лист силами только библиотеки iTextSharp? Прошу подсказать как это сделать и как лучше. Заранее спасибо.

Решение задачи: «Создание титульного листа силами 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();
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.286 из 5