Объединить и перенумеровать страницы с помощью iTextSharp

#c# #pdf #merge #itextsharp

#c# #PDF #слияние #itextsharp

Вопрос:

Мы пытаемся объединить два PDF-файла с номерами страниц в новый PDF-файл. Мы хотим, чтобы новый PDF-файл начинался с номера страницы от 1, например

  1. Страницы PDF сортируются следующим образом 1,2,3,4,5
  2. Страницы PDF сортируются следующим образом 1,2,3,4,5

Объединенный PDF-файл должен иметь номер страницы 1,2,3,4,5,6,7,8,9,10, а другие старые метки страниц не должны отображаться на вновь объединенном PDF-файле.

Это наш пример кода, но метки не отображаются на странице.

 string output_file = "~/output/output.pdf";
Document document = new Document();
using (var inputPdfStream = new FileStream(@"C:Test.pdf", FileMode.Open))
{
    PdfReader reader = new PdfReader(inputPdfStream);
    PdfReader.unethicalreading = true;

    using (PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(Server.MapPath(output_file), FileMode.Create)))
    {
        document.Open();
        PdfContentByte cb = writer.DirectContent;
        PdfImportedPage page;

        for (int i = 1; i <= reader.NumberOfPages; i  )
        {
            page =writer.GetImportedPage(reader, i);
            document.NewPage();
            cb.AddTemplate(page, 0, 0);
            PdfPageLabels oLabel = new PdfPageLabels();
            oLabel.AddPageLabel(i, PdfPageLabels.DECIMAL_ARABIC_NUMERALS);
            writer.PageLabels = oLabel;
        }

        document.Close();
    }
}
 

Комментарии:

1. Вы уверены, что не путаете метки страниц (которые представляют собой некоторые виды метаданных страницы, отображаемые, например, Adobe Reader в page поле в верхней части документа) и номера страниц (которые записываются непосредственно в документе, как и любой другой фрагмент текста в указанном документе)?

2. Я думаю, что Алексис права. Этот вопрос следует классифицировать как «не имеющий ответа».

3. О , извините ! Да, мы только что это поняли. Мы думали, что PageLabel совпадает с номером страницы. Есть ли у вас какое-либо мнение по изменению номера страницы в формате pdf?

4. Для этого вам нужно будет знать абсолютное положение номера страницы и поставить на нем штамп с обновленным номером страницы.