Главное Авторские колонки Вакансии Образование
164 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Как добавить номера страниц в PDF в Java

В этой статье я расскажу вам о том, как добавить номера страниц в PDF-документ на Java с помощью библиотеки Spire.PDF for Java.
Мнение автора может не совпадать с мнением редакции

Присвоение номеров страниц PDF-документам — частое требование в различных сценариях, таких как создание профессиональных отчетов, подготовка научных работ или организация больших документов. Номера страниц служат навигационными и справочными ориентирами для читателей, облегчая поиск определенного содержимого в документе. Добавив номера страниц, вы сможете повысить общую читабельность и удобство использования ваших PDF-файлов.

В этой статье я расскажу вам о том, как добавить номера страниц в PDF-документ на Java с помощью библиотеки Spire.PDF for Java.

  • Добавление номеров страниц в левый угол нижнего колонтитула PDF-файла
  • Добавить номера страниц в центр колонтитула PDF
  • Добавить номера страниц в правый угол колонтитула PDF

Установите необходимую библиотеку

Spire.PDF for Java — это профессиональная Java-библиотека для чтения, создания и работы с PDF-файлами в Java-приложениях.

Если вы создали проект Maven, вы можете легко импортировать jar в свое приложение с помощью следующих конфигураций. Для проектов, не использующих Maven, загрузите Spire.Pdf.jar и добавьте его в качестве зависимости в ваше приложение.

Библиотека Java PDF для добавления номеров страниц

Spire.PDF for Java — это надежная библиотека, предназначенная для работы с PDF-документами в Java-приложениях. Она предлагает такие удобные классы, как PdfPageNumberField и PdfPageCountField, которые позволяют пользователям получать номер текущей страницы и общее количество страниц. Для создания формата «Страница X из Y» можно использовать объект PdfCompositeField для объединения нескольких автоматических полей в одно поле.

После создания объекта PdfCompositeField вы можете задать его положение на странице с помощью свойства Location, а затем добавить его на страницу с помощью метода Draw(). Позиционирование номера страницы определяется определенными координатами, поэтому рекомендуется ознакомиться с системой координат.

Добавление номеров страниц в левый угол нижнего колонтитула PDF-файла

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

import com.spire.pdf.PdfDocument;

import com.spire.pdf.PdfPageBase;

import com.spire.pdf.automaticfields.PdfCompositeField;

import com.spire.pdf.automaticfields.PdfPageCountField;

import com.spire.pdf.automaticfields.PdfPageNumberField;

import com.spire.pdf.graphics.*;

import com.spire.pdf.license.LicenseProvider;

import java.awt.*;

import java.awt.geom.Dimension2D;

import java.awt.geom.Point2D;

public class AddPageNumberToLeftCorner {

public static void main(String[] args) {

// Примените ваш лицензионный ключ

LicenseProvider.setLicenseKey("Лицензионный ключ");

// Создайте объект PdfDocument

PdfDocument doc = new PdfDocument();

// Загрузите PDF файл

doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Terms of service.pdf");

// Создайте шрифт, кисть и перо, которые определяют внешний вид добавляемых номеров страниц

PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Times New Roman", Font.PLAIN, 12), true);

PdfBrush brush = PdfBrushes.getBlack();

PdfPen pen = new PdfPen(brush, 1.0);

// Создайте объект PdfPageNumberField и объект PdfPageCountField

PdfPageNumberField pageNumberField = new PdfPageNumberField();

PdfPageCountField pageCountField = new PdfPageCountField();

// Создайте объект PdfCompositeField для объединения поля количества страниц и поля номера страницы в одно поле

PdfCompositeField compositeField = new PdfCompositeField(font, brush, «Страница {0} из {1}», pageNumberField, pageCountField);

// Получите размер страницы

Dimension2D pageSize = doc.getPages().get(0).getSize();

// Установите местоположение составного поля

compositeField.setLocation(new Point2D.Float(72, (float) pageSize.getHeight() - 45));

// Перебирайте страницы в документе

for (int i = 0; i < doc.getPages().getCount(); i++) {

// Получите конкретную страницу

PdfPageBase page = doc.getPages().get(i);

// Нарисуйте линию в указанном месте

page.getCanvas().drawLine(pen, 72, pageSize.getHeight() - 50, pageSize.getWidth() - 72, pageSize.getHeight() - 50);

// Нарисуйте составное поле на странице

compositeField.draw(page.getCanvas(), 0.0, 0.0);

}

// Сохраните в другой PDF файл

doc.saveToFile("Output/AddPageNumbersToLeftCorner.pdf");

// Освободите ресурсы

doc.dispose();

}

}

Добавить номера страниц в центр колонтитула PDF

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

import com.spire.pdf.PdfDocument;

import com.spire.pdf.PdfPageBase;

import com.spire.pdf.automaticfields.PdfCompositeField;

import com.spire.pdf.automaticfields.PdfPageCountField;

import com.spire.pdf.automaticfields.PdfPageNumberField;

import com.spire.pdf.graphics.PdfBrush;

import com.spire.pdf.graphics.PdfBrushes;

import com.spire.pdf.graphics.PdfPen;

import com.spire.pdf.graphics.PdfTrueTypeFont;

import com.spire.pdf.license.LicenseProvider;

import java.awt.*;

import java.awt.geom.Dimension2D;

import java.awt.geom.Point2D;

public class AddPageNumberToCenter {

public static void main(String[] args) {

// Примените ваш лицензионный ключ

LicenseProvider.setLicenseKey("Лицензионный ключ");

// Создайте объект PdfDocument

PdfDocument doc = new PdfDocument();

// Загрузите PDF файл

doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Terms of service.pdf");

// Создайте шрифт, кисть и перо, которые определяют внешний вид добавляемых номеров страниц

PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Times New Roman", Font.PLAIN, 12), true);

PdfBrush brush = PdfBrushes.getBlack();

PdfPen pen = new PdfPen(brush, 1.0);

// Создайте объект PdfPageNumberField и объект PdfPageCountField

PdfPageNumberField pageNumberField = new PdfPageNumberField();

PdfPageCountField pageCountField = new PdfPageCountField();

// Создайте объект PdfCompositeField для объединения поля количества страниц и поля номера страницы в одно поле

PdfCompositeField compositeField = new PdfCompositeField(font, brush, «Страница {0} из {1}», pageNumberField, pageCountField);

// Перебирайте страницы в документе

for (int i = 0; i < doc.getPages().getCount(); i++) {

// Получите конкретную страницу

PdfPageBase page = doc.getPages().get(i);

// Получите размер страницы

Dimension2D pageSize = doc.getPages().get(i).getSize();

// Нарисуйте линию в указанном месте

page.getCanvas().drawLine(pen, 72, pageSize.getHeight() - 50, pageSize.getWidth() - 72, pageSize.getHeight() - 50);

// Измерьте размер «Страница X из Y»

Dimension2D pageNumberSize = font.measureString(String.format("Страница %d из %d", i + 1, doc.getPages().getCount()));

// Установите местоположение составного поля

compositeField.setLocation(new Point2D.Float((float)(pageSize.getWidth() - pageNumberSize.getWidth()) / 2, (float)pageSize.getHeight() - 45));

// Нарисуйте составное поле на странице

compositeField.draw(page.getCanvas());

}

// Сохраните в другой PDF файл

doc.saveToFile("Output/AddPageNumbersToCenter.pdf");

// Освободите ресурсы

doc.dispose();

}

}

Добавить номера страниц в правый угол колонтитула PDF

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

import com.spire.pdf.PdfDocument;

import com.spire.pdf.PdfPageBase;

import com.spire.pdf.automaticfields.PdfCompositeField;

import com.spire.pdf.automaticfields.PdfPageCountField;

import com.spire.pdf.automaticfields.PdfPageNumberField;

import com.spire.pdf.graphics.PdfBrush;

import com.spire.pdf.graphics.PdfBrushes;

import com.spire.pdf.graphics.PdfPen;

import com.spire.pdf.graphics.PdfTrueTypeFont;

import java.awt.*;

import java.awt.geom.Dimension2D;

import java.awt.geom.Point2D;

public class AddPageNumberToRightCorner {

public static void main(String[] args) {

// Создайте объект PdfDocument

PdfDocument doc = new PdfDocument();

// Загрузите PDF файл

doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Terms of service.pdf");

// Создайте шрифт, кисть и перо, которые определяют внешний вид добавляемых номеров страниц

PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Times New Roman", Font.PLAIN, 12), true);

PdfBrush brush = PdfBrushes.getBlack();

PdfPen pen = new PdfPen(brush, 1.0);

// Создайте объект PdfPageNumberField и объект PdfPageCountField

PdfPageNumberField pageNumberField = new PdfPageNumberField();

PdfPageCountField pageCountField = new PdfPageCountField();

// Создайте объект PdfCompositeField для объединения поля количества страниц и поля номера страницы в одно поле

PdfCompositeField compositeField = new PdfCompositeField(font, brush, «Страница {0} из {1}», pageNumberField, pageCountField);

// Перебирайте страницы в документе

for (int i = 0; i < doc.getPages().getCount(); i++) {

// Получите конкретную страницу

PdfPageBase page = doc.getPages().get(i);

// Получите размер страницы

Dimension2D pageSize = doc.getPages().get(i).getSize();

// Нарисуйте линию в указанном месте

page.getCanvas().drawLine(pen, 72, pageSize.getHeight() - 50, pageSize.getWidth() - 72, pageSize.getHeight() - 50);

// Измерьте размер «Страница X из Y»

Dimension2D pageNumberSize = font.measureString(String.format("Страница %d из %d", i + 1, doc.getPages().getCount()));

// Установите местоположение составного поля

compositeField.setLocation(new Point2D.Float((float)(pageSize.getWidth() - pageNumberSize.getWidth() - 72), (float)(pageSize.getHeight() - 45)));

// Нарисуйте составное поле на странице

compositeField.draw(page.getCanvas());

}

// Сохраните в другой PDF файл

doc.saveToFile("Output/AddPageNumbersToRightCorner.pdf");

// Освободите ресурсы

doc.dispose();

}

}

Заключение

В этой статье вы узнаете, как использовать Spire для добавления страниц в PDF — документ. PDF для Java. Кроме того, библиотека поддерживает другие функции обработки PDF, такие как:

Преобразование PDF в Word в Java

Печать PDF-документов в Java

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем