2017-02-12 2 views
0

Я потратил много времени безрезультатно по этой проблеме. Мои PDF страницы автоматически нумеруются «Страница 1 из 0» при создании PDF следующим образом:Itextsharp удалить номер страницы

  using (MemoryStream ms = new MemoryStream()) 
      using (Document document = new Document(PageSize.A4, 10, 10, 25, 25)) 
      using (PdfWriter writer = PdfWriter.GetInstance(document, ms)) 
      { 
       writer.PageEvent = new TextEvents(); 
       document.Open(); 
       document.NewPage(); 
       document.Add(new Phrase("Hello World!")); 
       document.Close(); 
       writer.Close(); 

       var docout = ms.ToArray(); 

       ms.Close(); 

       return docout; 
      } 

Как остановить это поведение? Мне не нужен номер страницы.

+0

Вы не видите часть своего кода, в которой реализована нумерация страниц. Подсказка: найдите прослушиватель событий страницы, заданный для PdfWriter, или для второго прохода, используя PdfStamper для штамповки номеров страниц. – mkl

+0

Спасибо, что ответили. Я обновил код. Я не реализую нумерацию страниц, которая меня смущает? –

+0

Очевидно, что вы делаете, потому что iText не добавляет номера страниц, если вы не сообщите ему, чтобы добавить их. –

ответ

1

В этой строке

writer.PageEvent = new TextEvents(); 

вы говорите IText для отправки событий страницы к экземпляру вашего собственного TextEvents класса. Поскольку никакая другая часть кода, который вы показываете, не добавляет номера страниц, это должен быть ваш класс, который это делает.

Вы можете проверить это, удалив приведенную выше кодовую строку.

Остерегайтесь: возможно, что класс TextEvents делает что-то еще, возможно, то, что вы хотите. Поэтому вместо полного удаления этой строки вам, возможно, придется проанализировать свой класс TextEvents и устранить нежелательное поведение.

0

Чтобы добавить отзыв, TextEvents() должен распространяться PdfPageEventHelper с кодом onEndPage(), где вы найдете код, который добавляет страницу x of n.

Смежные вопросы