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

Aspose.PDF для C++ позволяет добавлять заголовок и нижний колонтитул в ваш существующий PDF-файл. Вы можете добавить изображения или текст в документ PDF. Также попробуйте добавить различные заголовки в один PDF файл с использованием C++.

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

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

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

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

void AddingTextInHeaderOfPdfFile() {
    String _dataDir("C:\\Samples\\");
    String inputFileName("TextinHeader.pdf");
    String outputFileName("TextinHeader_out.pdf");

    // Открыть документ
    auto document = MakeObject<Document>(_dataDir + inputFileName);

    // Создать заголовок
    auto textStamp = MakeObject<TextStamp>(u"Header Text");

    // Установить свойства штампа
    textStamp->set_TopMargin(10);
    textStamp->set_HorizontalAlignment(HorizontalAlignment::Center);
    textStamp->set_VerticalAlignment(VerticalAlignment::Top);

    // Добавить заголовок на все страницы
    for(auto page : document->get_Pages())
    {
        page->AddStamp(textStamp);
    }

    // Сохранить обновленный документ
    document->Save(_dataDir + outputFileName);
}

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

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

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

void AddingTextInFooterOfPdfFile() {
    String _dataDir("C:\\Samples\\");
    String inputFileName("TextinFooter.pdf");
    String outputFileName("TextinFooter_out.pdf");

    // Open document
    auto document = MakeObject<Document>(_dataDir + inputFileName);

    // Create footer
    auto textStamp = MakeObject<TextStamp>(u"Footer Text");

    // Set properties of the stamp
    textStamp->set_BottomMargin(10);
    textStamp->set_HorizontalAlignment(HorizontalAlignment::Center);
    textStamp->set_VerticalAlignment(HorizontalAlignment::Bottom);

    // Add footer on all pages
    for (auto page : document->get_Pages())
    {
        page->AddStamp(textStamp);
    }

    // Save updated document
    document->Save(_dataDir + outputFileName);
}

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

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

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

void AddingImageInHeaderOfPdfFile() {

    String _dataDir("C:\\Samples\\");
    String inputFileName("ImageinHeader.pdf");
    String outputFileName("ImageinHeader_out.pdf");

    // Открыть документ
    auto document = MakeObject<Document>(_dataDir + inputFileName);

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

    // Установить свойства штампа
    imageStamp->set_TopMargin(10);
    imageStamp->set_HorizontalAlignment(HorizontalAlignment::Center);
    imageStamp->set_VerticalAlignment (VerticalAlignment::Top);

    // Добавить заголовок на все страницы
    for(auto page : document->get_Pages())
    {
        page->AddStamp(imageStamp);
    }

    // Сохранить обновленный документ
    document->Save(_dataDir + outputFileName);
}

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

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

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

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

void AddingImageInFooterOfPdfFile() {

    String _dataDir("C:\\Samples\\");
    String inputFileName("ImageinFooter.pdf");
    String outputFileName("ImageinFooter_out.pdf");

    // Открыть документ
    auto document = MakeObject<Document>(_dataDir + inputFileName);

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

    // Установить свойства штампа
    imageStamp->set_TopMargin(10);
    imageStamp->set_HorizontalAlignment(HorizontalAlignment::Center);
    imageStamp->set_VerticalAlignment(VerticalAlignment::Top);

    // Добавить заголовок на все страницы
    for (auto page : document->get_Pages())
    {
        page->AddStamp(imageStamp);
    }

    // Сохранить обновленный документ
    document->Save(_dataDir + outputFileName);
}

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

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

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

void AddingDifferentHeadersInOnePDFFile()
{
    String _dataDir("C:\\Samples\\");
    String inputFileName("multiheader.pdf");
    String outputFileName("multiheader_out.pdf");

    // Открыть исходный документ
    auto document = MakeObject<Document>(_dataDir + inputFileName);

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

    // Установить выравнивание штампа (разместить штамп вверху страницы, центрировано по горизонтали)
    stamp1->set_VerticalAlignment(VerticalAlignment::Top);
    stamp1->set_HorizontalAlignment(HorizontalAlignment::Center);
    // Указать стиль шрифта как Bold
    stamp1->get_TextState()->set_FontStyle(FontStyles::Bold);
    // Установить информацию о цвете текста как красный
    stamp1->get_TextState()->set_ForegroundColor(Color::get_Red());
    // Указать размер шрифта как 14
    stamp1->get_TextState()->set_FontSize(14);

    // Теперь нам нужно установить вертикальное выравнивание второго объекта штампа как Top
    stamp2->set_VerticalAlignment(VerticalAlignment::Top);
    // Установить информацию о горизонтальном выравнивании штампа как центрированную
    stamp2->set_HorizontalAlignment (HorizontalAlignment::Center);
    // Установить коэффициент масштабирования для объекта штампа
    stamp2->set_Zoom(10);

    // Установить форматирование третьего объекта штампа
    // Указать информацию о вертикальном выравнивании объекта штампа как TOP
    stamp3->set_VerticalAlignment(VerticalAlignment::Top);
    // Установить информацию о горизонтальном выравнивании объекта штампа как центрированную
    stamp3->set_HorizontalAlignment(HorizontalAlignment::Center);
    // Установить угол поворота для объекта штампа
    stamp3->set_RotateAngle(35);
    // Установить розовый как цвет фона для штампа
    stamp3->get_TextState()->set_BackgroundColor(Color::get_Pink());
    // Изменить информацию о шрифте штампа на Verdana
    stamp3->get_TextState()->set_Font(FontRepository::FindFont(u"Verdana"));

    // Первый штамп добавляется на первую страницу;
    document->get_Pages()->idx_get(1)->AddStamp(stamp1);
    // Второй штамп добавляется на вторую страницу;
    document->get_Pages()->idx_get(2)->AddStamp(stamp2);
    // Третий штамп добавляется на третью страницу.
    document->get_Pages()->idx_get(3)->AddStamp(stamp3);

    // Сохранить обновленный документ
    document->Save(_dataDir + outputFileName);
}