powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Библиотека iTextSharp
3 сообщений из 3, страница 1 из 1
Библиотека iTextSharp
    #38590807
Oleg5555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Думаю, из всех существующих веток форума эта наиболее подходящая.

Кто-нибудь работал с библиотекой iTextSharp? Подскажите пожалуйста, как в документе можно создать колонтитулы и нумерацию страниц. С обычным текстом, таблицами, картинками понятно, а как сделать колонтитулы и нумерацию не могу понять. Документ формирую не через парсеры, все собираю кодом. Спасибо.
...
Рейтинг: 0 / 0
Библиотека iTextSharp
    #38590862
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ни одна ссылка из гугла не сработала? (itextsharp+page+header+and+footer)?
...
Рейтинг: 0 / 0
Библиотека iTextSharp
    #38596970
mrigrek74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Oleg5555,
Что-то такое в своих анналах нашёл. Нумерация. Нужно описать свой PageNumberHelper : PdfPageEventHelper

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
    using iTextSharp.text;
    using iTextSharp.text.pdf;

    public class PageNumberHelper : PdfPageEventHelper
    {
        private PdfContentByte cb;
        private BaseFont bf;

        public override void OnOpenDocument(PdfWriter writer, Document document)
        {
            try
            {
                bf = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
                cb = writer.DirectContent;
            }
            catch (DocumentException deex)
            {
                //...
            }
            catch (IOException ioex)
            { 
                //...              
            }
        }

        public override void OnEndPage(PdfWriter writer, Document document)
        {
            base.OnEndPage(writer, document);
            String text = writer.PageNumber.ToString();
            Rectangle pageSize = document.PageSize;
            cb.BeginText();
            cb.SetRGBColorFill(100, 100, 100);
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(pageSize.GetRight(30f), pageSize.GetBottom(20f));
            cb.ShowText(text);
            cb.EndText();
        }
   }


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
       //..................................
        var document = new Document(PageSize.A4, 17f, 17f, 28.33f, 28.33f);
        using (var pdfStream = new MemoryStream())
        {
             var writer = PdfWriter.GetInstance(document, pdfStream);
             writer.ViewerPreferences = PdfWriter.PageModeUseOutlines;
             writer.PageEvent = new PageNumberHelper();
             //..................................
             document.Close();
             return pdfStream;
         }


...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Библиотека iTextSharp
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]