Добавление заголовка и нижнего колонтитула в PDF

Штампы PDF часто используются в контрактах, отчетах и ограниченных материалах, чтобы подтвердить, что документы были проверены и помечены как “прочитано”, “квалифицировано” или “конфиденциально” и т.д. В этой статье будет показано, как мы можем добавить штампы изображений и текстовые штампы в PDF документы, используя Aspose.PDF для Java.

Если вы будете читать приведенные выше фрагменты кода построчно, вы должны обнаружить, что синтаксис и логика кода довольно просты для понимания.

Добавление текста в заголовок PDF файла

Вы можете использовать класс TextStamp для добавления текста в заголовок PDF файла. TextStamp класс предоставляет свойства, необходимые для создания штампа на основе текста, такие как размер шрифта, стиль шрифта и цвет шрифта и т.д. Для того чтобы добавить текст в заголовок, вам нужно создать объект Document и объект TextStamp, используя необходимые свойства. После этого вы можете вызвать метод AddStamp страницы, чтобы добавить текст в заголовок PDF.

Вам нужно установить свойство TopMargin таким образом, чтобы оно корректировало текст в области заголовка вашего PDF. Также необходимо установить HorizontalAlignment в Center и VerticalAlignment в Top.

Следующий фрагмент кода показывает, как добавить текст в заголовок PDF файла с помощью Java.

package com.aspose.pdf.examples;

import com.aspose.pdf.*;

public class ExampleAddPDFHeaderandFooter {
    // Путь к директории с документами.
    private static String _dataDir = "/home/admin1/pdf-examples/Samples/";

    public static void AddingTextInHeaderOfPDFFile() {

        // Открыть документ
        Document pdfDocument = new Document(_dataDir + "TextinHeader.pdf");

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

        // Установить свойства штампа
        textStamp.setTopMargin(10);
        textStamp.setHorizontalAlignment(HorizontalAlignment.Center);
        textStamp.setVerticalAlignment(VerticalAlignment.Top);

        // Добавить заголовок на все страницы
        for (Page page : pdfDocument.getPages()) {
            page.addStamp(textStamp);
        }

        // Сохранить обновленный документ
        pdfDocument.save(_dataDir + "TextinHeader_out.pdf");
    }

Добавление текста в нижний колонтитул PDF файла

Вы можете использовать класс TextStamp для добавления текста в нижний колонтитул PDF файла. Класс TextStamp предоставляет свойства, необходимые для создания текстового штампа, такие как размер шрифта, стиль шрифта и цвет шрифта и т.д. Для того чтобы добавить текст в нижний колонтитул, вам нужно создать объект Document и объект TextStamp с использованием необходимых свойств. После этого вы можете вызвать метод AddStamp страницы для добавления текста в нижний колонтитул PDF.

Следующий фрагмент кода показывает, как добавить текст в нижний колонтитул PDF файла с помощью Java.

    public static void AddingTextInFooterOfPDFFile() {
        // Открыть документ
        Document pdfDocument = new Document(_dataDir + "TextinFooter.pdf");
        // Создать нижний колонтитул
        TextStamp textStamp = new TextStamp("Footer Text");
        // Установить свойства штампа
        textStamp.setBottomMargin(10);
        textStamp.setHorizontalAlignment(HorizontalAlignment.Center);
        textStamp.setVerticalAlignment(VerticalAlignment.Bottom);
        // Добавить нижний колонтитул на все страницы
        for (Page page : pdfDocument.getPages()) {
            page.addStamp(textStamp);
        }
        _dataDir = _dataDir + "TextinFooter_out.pdf";
        // Сохранить обновленный PDF файл
        pdfDocument.save(_dataDir);
    }

Добавление изображения в заголовок PDF-файла

Вы можете использовать класс ImageStamp для добавления изображения в заголовок PDF-файла. Класс ImageStamp предоставляет свойства, необходимые для создания штампа на основе изображения, такие как размер шрифта, стиль шрифта и цвет шрифта и т. д. Чтобы добавить изображение в заголовок, вам нужно создать объект Document и объект ImageStamp с использованием необходимых свойств. После этого вы можете вызвать метод AddStamp страницы, чтобы добавить изображение в заголовок PDF-файла.

public static void AddingImageInHeaderOfPDFFile() {

// Открыть документ
Document pdfDocument = new Document(_dataDir + "ImageInHeader.pdf");

// Создать заголовок
ImageStamp imageStamp = new ImageStamp(_dataDir + "aspose-logo.jpg");

// Установить свойства штампа
imageStamp.setTopMargin(10);
imageStamp.setHorizontalAlignment(HorizontalAlignment.Center);
imageStamp.setVerticalAlignment(VerticalAlignment.Top);
// Добавить заголовок на все страницы
for (Page page : pdfDocument.getPages()) {
page.addStamp(imageStamp);
}

_dataDir = _dataDir + "ImageInHeader_out.pdf";

// Сохранить обновленный PDF-файл
pdfDocument.save(_dataDir);
}

Следующий фрагмент кода показывает, как добавить изображение в заголовок PDF файла с помощью Java.

Добавление изображения в нижний колонтитул PDF файла

Вы можете использовать класс Image Stamp для добавления изображения в нижний колонтитул PDF файла. Класс Image Stamp предоставляет свойства, необходимые для создания штампа на основе изображения, такие как размер шрифта, стиль шрифта и цвет шрифта и т.д. Для того чтобы добавить изображение в нижний колонтитул, вам нужно создать объект Document и объект Image Stamp с использованием необходимых свойств. После этого вы можете вызвать метод AddStamp страницы, чтобы добавить изображение в нижний колонтитул PDF.

Следующий фрагмент кода показывает, как добавить изображение в нижний колонтитул PDF файла с помощью Java.

    public static void AddingImageInFooterOfPDFFile() {

        // Открыть документ
        Document pdfDocument = new Document(_dataDir + "ImageInFooter.pdf");

        // Создать нижний колонтитул
        ImageStamp imageStamp = new ImageStamp(_dataDir + "aspose-logo.jpg");

        // Установить свойства штампа
        imageStamp.setBottomMargin(10);
        imageStamp.setHorizontalAlignment(HorizontalAlignment.Center);
        imageStamp.setVerticalAlignment(VerticalAlignment.Bottom);
        // Добавить нижний колонтитул на все страницы
        for (Page page : pdfDocument.getPages()) {
            page.addStamp(imageStamp);
        }

        _dataDir = _dataDir + "ImageInFooter_out.pdf";

        // Сохранить обновленный PDF файл
        pdfDocument.save(_dataDir);
    }

Добавление различных заголовков в один PDF файл

Мы знаем, что можем добавить TextStamp в раздел Заголовка/Нижнего колонтитула документа, используя свойства TopMargin или Bottom Margin, но иногда может возникнуть необходимость добавить несколько заголовков/нижних колонтитулов в один PDF документ. Aspose.PDF для Java объясняет, как это сделать.

Для выполнения этого требования мы создадим отдельные объекты TextStamp (количество объектов зависит от количества необходимых заголовков/нижних колонтитулов) и добавим их в PDF-документ. Мы также можем указать различную информацию о форматировании для каждого отдельного объекта штампа. В следующем примере мы создали объект Document и три объекта TextStamp, а затем использовали метод AddStamp страницы для добавления текста в раздел заголовка PDF. Следующий фрагмент кода показывает, как добавить изображение в нижний колонтитул PDF-файла с помощью Aspose.PDF для Java.

public static void AddingDifferentHeadersInOnePDFFile() {

        // Открыть исходный документ
        Document pdfDocument = new Document(_dataDir + "AddingDifferentHeaders.pdf");

        // Создать три штампа
        TextStamp stamp1 = new TextStamp("Header 1");
        TextStamp stamp2 = new TextStamp("Header 2");
        TextStamp stamp3 = new TextStamp("Header 3");

        // Установить выравнивание штампа (разместить штамп в верхней части страницы, по центру по горизонтали)
        stamp1.setVerticalAlignment (VerticalAlignment.Top);
        stamp1.setHorizontalAlignment(HorizontalAlignment.Center);
        // Указать стиль шрифта как жирный
        stamp1.getTextState().setFontStyle(FontStyles.Bold);
        // Установить цвет текста переднего плана как красный
        stamp1.getTextState().setForegroundColor(Color.getRed());
        // Указать размер шрифта как 14
        stamp1.getTextState().setFontSize(14);

        // Теперь нам нужно установить вертикальное выравнивание второго объекта штампа как верхнее
        stamp2.setVerticalAlignment(VerticalAlignment.Top);
        // Установить горизонтальное выравнивание штампа как центрированное
        stamp2.setHorizontalAlignment(HorizontalAlignment.Center);
        // Установить коэффициент масштабирования для объекта штампа
        stamp2.setZoom (10);

        // Установить форматирование третьего объекта штампа
        // Указать информацию о вертикальном выравнивании для объекта штампа как ВЕРХ
        stamp3.setVerticalAlignment(VerticalAlignment.Top);
        // Установить горизонтальное выравнивание для объекта штампа как центрированное
        stamp3.setHorizontalAlignment (HorizontalAlignment.Center);
        // Установить угол поворота для объекта штампа
        stamp3.setRotateAngle(35);
        // Установить розовый как цвет фона для штампа
        stamp3.getTextState().setBackgroundColor (Color.getPink());
        
        // Изменить информацию о шрифте для штампа на Verdana
        stamp3.getTextState().setFont (FontRepository.findFont("Verdana"));
        // Первый штамп добавляется на первую страницу;
        pdfDocument.getPages().get_Item(1).addStamp(stamp1);
        // Второй штамп добавляется на вторую страницу;
        pdfDocument.getPages().get_Item(2).addStamp(stamp2);
        // Третий штамп добавляется на третью страницу.
        pdfDocument.getPages().get_Item(3).addStamp(stamp3);

        _dataDir = _dataDir + "multiheader_out.pdf";

        // Сохранить обновленный PDF файл
        pdfDocument.save(_dataDir);
    }

}