Добавьте верхние и нижние колонтитулы в PDF с помощью C#

Разделы верхнего и нижнего колонтитула в документе показывают информацию о документе, такую как название документа, логотип, заголовок главы, номера страниц и т. д. Мы можем программно добавить любой текст или изображение в верхние/нижние колонтитулы документа PDF. В этой статье мы узнаем, как добавлять верхние и нижние колонтитулы в документы PDF с помощью C#.

В этой статье должны быть раскрыты следующие темы:

C# API для добавления верхних и нижних колонтитулов в документы PDF

Для добавления верхних и нижних колонтитулов в файлы PDF мы будем использовать Aspose.PDF для .NET API. Это позволяет нам создавать, изменять, преобразовывать, отображать, защищать и печатать поддерживаемые документы без использования Adobe Acrobat. Пожалуйста, загрузите DLL API или установите его с помощью NuGet.

Install-Package Aspose.PDF

Добавить текст в заголовок PDF с помощью С#

Мы можем добавить текст в заголовок существующего документа PDF, выполнив следующие шаги:

  1. Во-первых, загрузите документ PDF, используя класс Document с путем к входному файлу в качестве аргумента. Это основной класс, представляющий PDF-документ и позволяющий выполнять различные функции.
  2. Затем создайте экземпляр класса TextStamp с текстом, который будет отображаться в заголовке документа.
  3. Затем установите различные свойства, такие как TopMargin, HorizontalAlignment и VerticalAlignment, как Top и т. д.
  4. При необходимости установите для текста ForegroundColor, Font, FontStyle, FontSize, BackgroundColor, RotateAngle и уровень масштабирования.
  5. После этого прокрутите все страницы и добавьте заголовок, используя метод Page.AddStamp() с объектом TextStamp.
  6. Наконец, вызовите метод Document.Save() с путем к выходному файлу в качестве аргумента, чтобы сохранить выходной файл.

В следующем примере кода показано, как добавить текст в заголовок документа PDF с помощью C#.

// В этом примере кода показано, как добавить текст в заголовок существующего документа PDF.
// Загрузите PDF-документ
Document pdfDocument = new Document(@"C:\Files\sample.pdf");

// Создать заголовок
TextStamp textStamp = new TextStamp("Header Text");

// Установить свойства штампа
textStamp.TopMargin = 10;
textStamp.HorizontalAlignment = HorizontalAlignment.Center;
textStamp.VerticalAlignment = VerticalAlignment.Top;

// Укажите стиль шрифта
textStamp.TextState.FontStyle = FontStyles.Bold;
textStamp.TextState.ForegroundColor = Color.Red;
textStamp.TextState.FontSize = 14;
textStamp.TextState.BackgroundColor = Color.Pink;
textStamp.TextState.Font = FontRepository.FindFont("Verdana");

// Добавить заголовок на всех страницах
foreach (Page page in pdfDocument.Pages)
{
    page.AddStamp(textStamp);
}

// Сохраните обновленный документ
pdfDocument.Save(@"C:\Files\output.pdf");
Добавить текст в заголовок PDF с помощью C#.

Добавить текст в заголовок PDF с помощью C#.

Мы можем программно добавить текст в нижний колонтитул документов PDF, выполнив шаги, упомянутые ранее. Однако нам нужно установить BottomMargin и VerticalAlignment как Bottom, чтобы отобразить текст в нижнем колонтитуле.

В следующем примере кода показано, как добавить текст в нижний колонтитул документа PDF с помощью C#.

// В этом примере кода показано, как добавить текст в нижний колонтитул существующего документа PDF.
// Загрузите PDF-документ
Document pdfDocument = new Document(@"C:\Files\sample.pdf");

// Создать нижний колонтитул
TextStamp textStamp = new TextStamp("Footer Text");

// Установить свойства штампа
textStamp.BottomMargin = 10;
textStamp.HorizontalAlignment = HorizontalAlignment.Center;
textStamp.VerticalAlignment = VerticalAlignment.Bottom;

// Добавить нижний колонтитул на все страницы
foreach (Page page in pdfDocument.Pages)
{
    page.AddStamp(textStamp);
}

// Сохраните обновленный документ
pdfDocument.Save(@"C:\Files\output.pdf");
Добавьте текст в нижний колонтитул PDF с помощью C#.

Добавьте текст в нижний колонтитул PDF с помощью C#.

Вставить изображение в заголовок PDF с помощью С#

Мы также можем добавить изображение в заголовок существующего документа PDF, выполнив следующие действия:

  1. Во-первых, загрузите документ PDF, используя класс Document с путем к входному файлу в качестве аргумента.
  2. Затем создайте экземпляр класса ImageStamp с путем к файлу изображения в качестве аргумента.
  3. Затем установите различные свойства, такие как TopMargin, HorizontalAlignment и VerticalAlignment, как Top и т. д.
  4. После этого прокрутите все страницы и добавьте заголовок, используя метод Page.AddStamp() с объектом ImageStamp.
  5. Наконец, вызовите метод Document.Save() с путем к выходному файлу в качестве аргумента, чтобы сохранить выходной файл.

В следующем примере кода показано, как добавить изображение в заголовок документа PDF с помощью C#.

// В этом примере кода показано, как добавить изображение в заголовок существующего документа PDF.
// Загрузите PDF-документ
Document pdfDocument = new Document(@"C:\Files\sample.pdf");

// Создать заголовок
ImageStamp imageStamp = new ImageStamp(@"C:\Files\conholdate-logo.jpg");

// Установить свойства штампа
imageStamp.TopMargin = 10;
imageStamp.HorizontalAlignment = HorizontalAlignment.Center;
imageStamp.VerticalAlignment = VerticalAlignment.Top;

// Добавить заголовок на всех страницах
foreach (Page page in pdfDocument.Pages)
{
    page.AddStamp(imageStamp);
}

// Сохраните обновленный документ
pdfDocument.Save(@"C:\Files\output.pdf");
Вставьте изображение в заголовок PDF с помощью С#.

Вставьте изображение в заголовок PDF с помощью С#.

Мы можем программно добавлять изображения в нижний колонтитул PDF-документов, выполнив шаги, упомянутые ранее. Однако нам нужно установить BottomMargin и VerticalAlignment как Bottom, чтобы изображение отображалось в нижнем колонтитуле.

В следующем примере кода показано, как добавить изображение в нижний колонтитул документа PDF с помощью C#.

// В этом примере кода показано, как добавить изображение в нижний колонтитул существующего документа PDF.
// Загрузите PDF-документ
Document pdfDocument = new Document(@"C:\Files\sample.pdf");

// Создать нижний колонтитул
ImageStamp imageStamp = new ImageStamp(@"C:\Files\conholdate-logo.jpg");

// Установить свойства штампа
imageStamp.BottomMargin = 10;
imageStamp.HorizontalAlignment = HorizontalAlignment.Center;
imageStamp.VerticalAlignment = VerticalAlignment.Bottom;

// Добавить нижний колонтитул на все страницы
foreach (Page page in pdfDocument.Pages)
{
    page.AddStamp(imageStamp);
}

// Сохраните обновленный документ
pdfDocument.Save(@"C:\Files\output.pdf");
Вставьте изображение в нижний колонтитул PDF с помощью C#.

Вставьте изображение в нижний колонтитул PDF с помощью C#.

Добавьте разные верхние и нижние колонтитулы на разные страницы

Мы можем добавить разные верхние/нижние колонтитулы для разных страниц в одном документе PDF, выполнив следующие шаги:

  1. Во-первых, загрузите документ PDF, используя класс Document с путем к входному файлу в качестве аргумента.
  2. Затем создайте несколько экземпляров класса ImageStamp с путем к файлу изображения и/или класса TextStamp с отображаемым текстом.
  3. Затем установите для различных свойств, таких как TopMargin, HorizontalAlignment и VerticalAlignment, значение Top для заголовка и BottomMargin и VerticalAlignment для значения Bottom для нижнего колонтитула.
  4. После этого добавьте верхний или нижний колонтитул с помощью метода Page.AddStamp() с объектом ImageStamp или TextStamp для страницы.
  5. Наконец, вызовите метод Document.Save() с путем к выходному файлу в качестве аргумента, чтобы сохранить выходной файл.

В следующем примере кода показано, как добавить несколько верхних и нижних колонтитулов в один документ PDF с помощью C#.

// В этом примере кода показано, как добавить разные заголовки для разных страниц в одном документе PDF.
// Загрузите PDF-документ
Document pdfDocument = new Document(@"C:\Files\sample.pdf");

// Создайте три штампа
ImageStamp stamp1 = new ImageStamp(@"C:\Files\PDF\conholdate-logo.jpg");
TextStamp stamp2 = new TextStamp("Header Stamp 2");
TextStamp stamp3 = new TextStamp("Header Stamp 3");

// Установить выравнивание штампа для штампа1
stamp1.VerticalAlignment = VerticalAlignment.Top;
stamp1.HorizontalAlignment = HorizontalAlignment.Center;

// Установить выравнивание штампа для штампа2
stamp2.VerticalAlignment = VerticalAlignment.Top;
// Установите информацию о выравнивании по горизонтали для штампа как с выравниванием по центру
stamp2.HorizontalAlignment = HorizontalAlignment.Center;
// Установите коэффициент масштабирования для объекта штампа
stamp2.Zoom = 10;

// Установить выравнивание штампа для штампа3
stamp3.VerticalAlignment = VerticalAlignment.Top;
// Установите информацию о выравнивании по горизонтали для объекта штампа как Выровненный по центру.
stamp3.HorizontalAlignment = HorizontalAlignment.Center;
// Установите угол поворота для объекта штампа
stamp3.RotateAngle = 35;


// Добавить первый штамп на первую страницу;
pdfDocument.Pages[1].AddStamp(stamp1);

// Добавить второй штамп на вторую страницу;
pdfDocument.Pages[2].AddStamp(stamp2);

// Добавьте третий штамп на третью страницу.
pdfDocument.Pages[3].AddStamp(stamp3);

// Сохраните обновленный документ
pdfDocument.Save(@"C:\Files\output.pdf");

Мы можем добавить номера страниц в нижний колонтитул документов PDF, выполнив следующие действия:

  1. Во-первых, загрузите документ PDF, используя класс Document с путем к входному файлу в качестве аргумента.
  2. Затем выполните следующие действия для каждой страницы в коллекции Document.Pages.
    • Создайте экземпляр класса TextStamp с текстом, объединенным с текущим номером страницы.
    • Затем установите различные свойства, такие как BottomMargin, HorizontalAlignment и VerticalAlignment, как Bottom и т. д.
    • После этого вызовите метод Page.AddStamp() с объектом TextStamp, чтобы добавить номер страницы в нижний колонтитул.
  3. Наконец, вызовите метод Document.Save() с путем к выходному файлу в качестве аргумента, чтобы сохранить выходной файл.

В следующем примере кода показано, как добавить номер страницы для каждой страницы в нижнем колонтитуле документа PDF с помощью C#.

// В этом примере кода показано, как добавить номер страницы в нижний колонтитул каждой страницы документа PDF. 
// Загрузите PDF-документ
Document pdfDocument = new Document(@"C:\Files\sample.pdf");

// Добавить нижний колонтитул на все страницы
foreach (Page page in pdfDocument.Pages)
{
    // Создать нижний колонтитул
    TextStamp textStamp = new TextStamp("Page " + page.Number + " of " + pdfDocument.Pages.Count + " pages.");
    
    // Установить свойства штампа
    textStamp.BottomMargin = 10;
    textStamp.HorizontalAlignment = HorizontalAlignment.Center;
    textStamp.VerticalAlignment = VerticalAlignment.Bottom;

    // Добавить штамп
    page.AddStamp(textStamp);
}

// Сохраните обновленный документ
pdfDocument.Save(@"C:\Files\PDF\output.pdf");
Добавьте номера страниц в нижний колонтитул.

Добавьте номера страниц в нижний колонтитул PDF с помощью C#.

Получите бесплатную лицензию API

Вы можете попробовать API без ограничений по ознакомительной версии, запросив бесплатную временную лицензию.

Вывод

В этой статье мы узнали, как добавить текст или изображение в верхние/нижние колонтитулы существующих файлов PDF с помощью C#. Мы также увидели, как добавлять разные заголовки на разные страницы документа PDF и как добавлять номер страницы в нижний колонтитул документа. Кроме того, вы можете узнать больше об Aspose.PDF для .NET API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

Смотрите также