Добавляйте сноски и концевые сноски в PDF с помощью Java.

Сноска — это примечание или текст, приведенный внизу определенной страницы, тогда как концевая сноска — это примечание, помещенное в конце документа. Обычно мы используем сноски или концевые сноски для ссылок, объяснений или комментариев в документе. Мы можем программно добавлять сноски/концевые сноски в документ PDF. В этой статье мы узнаем, как добавлять сноски и концевые сноски в документы PDF с помощью Java.

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

Java API для добавления сносок и концевых сносок в PDF

Для добавления сносок и концевых сносок в документ PDF мы будем использовать Aspose.PDF for Java API. Это позволяет нам создавать, изменять, преобразовывать, отображать, защищать и печатать поддерживаемые документы без использования Adobe Acrobat. Пожалуйста, либо скачайте JAR API, либо просто добавьте следующую конфигурацию pom.xml в приложение Java на основе Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.1</version>
</dependency>

Добавить сноски в PDF с помощью Java

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

  1. Во-первых, создайте экземпляр класса Document.
  2. Затем добавьте Page в PagesCollection документа.
  3. Затем создайте TextFragment.
  4. Затем установите значение Footnote для объекта TextFragment.
  5. Затем добавьте TextFragment в коллекцию Paragraphs.
  6. При необходимости повторите описанные выше шаги, чтобы добавить больше TextFragments для нескольких значений сносок.
  7. Наконец, сохраните файл PDF с помощью метода Document.Save(). В качестве аргумента принимает путь к выходному файлу.

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

// В этом примере кода показано, как добавить сноски в документ PDF.
// Создать экземпляр документа
Document document = new Document();

// Добавить страницу в коллекцию страниц PDF
Page page = document.getPages().add();

// Создайте текстовый фрагмент
TextFragment text = new TextFragment("Hello World");

// Установите значение сноски для TextFragment
text.setFootNote(new Note("foot note for Hello World!"));

// Добавить TextFragment в коллекцию абзацев первой страницы документа
page.getParagraphs().add(text);

// Создайте еще один TextFragment
text = new TextFragment("Aspose.Pdf for Java");

// Установить сноску для второго TextFragment
text.setFootNote(new Note("foot note for second text fragment!"));

// Добавить второй текстовый фрагмент в коллекцию абзацев файла PDF
page.getParagraphs().add(text);

// Сохраните документ
document.save("C:\\Files\\PDF\\sample_footnote.pdf");
Добавьте сноски в PDF с помощью Java.

Добавьте сноски в PDF с помощью Java.

Добавить изображение в сноску в PDF

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

  1. Во-первых, создайте экземпляр класса Document.
  2. Затем добавьте Page в PagesCollection документа.
  3. Затем создайте TextFragment.
  4. Затем установите значение Footnote для объекта TextFragment.
  5. Затем добавьте изображение в объект TextFragment.
  6. После этого добавьте TextFragment в коллекцию Paragraphs.
  7. Наконец, сохраните файл PDF с помощью метода Document.Save(). В качестве аргумента принимает путь к выходному файлу.

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

// В этом примере кода показано, как вставить изображение в сноски.
// Создать экземпляр документа
Document document = new Document();

// Добавить страницу в коллекцию страниц PDF
Page page = document.getPages().add();

// Создайте текстовый фрагмент
TextFragment text = new TextFragment("Hello World");

// Установите значение сноски для TextFragment
text.setFootNote(new Note());

// Добавить изображение
Image image = new Image();
image.setFile("C:\\Files\\PDF\\aspose_logo.jpg");
image.setFixHeight(20);
text.getFootNote().getParagraphs().add(image);

// Создать текстовый фрагмент
TextFragment footNote = new TextFragment(" foot note for Hello World!");
footNote.getTextState().setFontSize(20);
footNote.setInLineParagraph(true);
text.getFootNote().getParagraphs().add(footNote);

// Добавить TextFragment в коллекцию абзацев первой страницы документа
page.getParagraphs().add(text);

// Сохраните документ
document.save("C:\\Files\\PDF\\image_footnote.pdf");
Add an Image to Footnote in PDF.

Add an Image to Footnote in PDF.

Вставить таблицу в сноску в PDF

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

  1. Во-первых, создайте экземпляр класса Document.
  2. Затем добавьте Page в PagesCollection документа.
  3. Затем создайте TextFragment.
  4. Затем установите значение Footnote для объекта TextFragment.
  5. Затем добавьте таблицу в объект TextFragment.
  6. После этого добавьте TextFragment в коллекцию Paragraphs.
  7. Наконец, сохраните файл PDF с помощью метода Document.Save(). В качестве аргумента принимает путь к выходному файлу.

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

// В этом примере кода показано, как добавить таблицу в сноски.
// Создать экземпляр документа
Document document = new Document();

// Добавить страницу в коллекцию страниц PDF
Page page = document.getPages().add();

// Создать экземпляр TextFragment
TextFragment text = new TextFragment("Hello World");

// Установите значение сноски для TextFragment
text.setFootNote(new Note());

// Вставить таблицу
Table table = new Table();
table.getRows().add().getCells().add().getParagraphs().add(new TextFragment("Row 1 Cell 1"));
table.getRows().get_Item(0).getCells().add().getParagraphs().add(new TextFragment("Row 1 Cell 2"));
table.getRows().add().getCells().add().getParagraphs().add(new TextFragment("Row 2 Cell 1"));
table.getRows().get_Item(1).getCells().add().getParagraphs().add(new TextFragment("Row 2 Cell 2"));
text.getFootNote().getParagraphs().add(table);

// Добавить TextFragment в коллекцию абзацев первой страницы документа
page.getParagraphs().add(text);

// Сохраните документ
document.save("C:\\Files\\PDF\\Table_footnote.pdf");
Вставьте таблицу в сноску в PDF.

Вставьте таблицу в сноску в PDF.

Настройте метку сноски и стиль линии с помощью Java

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

  1. Во-первых, создайте экземпляр класса Document.
  2. Затем добавьте Page в PagesCollection документа.
  3. Затем инициализируйте объект GraphInfo, чтобы настроить стиль линии.
  4. Установите свойства объекта GraphInfo, такие как LineWidth, Color, DashArray и т. д.
  5. Затем создайте TextFragment.
  6. Затем установите значение Footnote для объекта TextFragment.
  7. Затем инициализируйте объект TextState и установите различные свойства, например ForegroundColor, FontStyle и т. д.
  8. После этого добавьте TextFragment в коллекцию Paragraphs.
  9. При необходимости повторите описанные выше шаги, чтобы добавить больше TextFragments для нескольких значений сносок.
  10. Наконец, сохраните файл PDF с помощью метода Document.Save(). В качестве аргумента принимает путь к выходному файлу.

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

// В этом примере кода показано, как настроить метку сноски и стиль линии.
// Создать экземпляр документа
Document document = new Document();

// Добавить страницу в коллекцию страниц PDF
Page page = document.getPages().add();

// Настроить стиль линии
// создать объект GraphInfo
GraphInfo graph = new GraphInfo();

// установить ширину линии как 2
graph.setLineWidth(2);

// установить цвет для графического объекта
graph.setColor(Color.getRed());

// установить значение массива тире как 3
graph.setDashArray(new int[] { 3 });

// установить значение фазы тире как 1
graph.setDashPhase(1);

// установить стиль линии сноски для страницы в виде графика
page.setNoteLineStyle(graph);

// Создать экземпляр TextFragment
TextFragment text = new TextFragment("Hello World");

// Установите значение сноски для TextFragment
text.setFootNote(new Note("foot note for Hello World!"));

// Настроить ярлык
text.getFootNote().setText("FOOTNOTE-1");
TextState ts = new TextState();
ts.setForegroundColor(Color.getBlue());
ts.setFontStyle(FontStyles.Italic);
text.getFootNote().setTextState(ts);

// Добавить TextFragment в коллекцию абзацев первой страницы документа
page.getParagraphs().add(text);

// Создайте еще один TextFragment
text = new TextFragment("Aspose.Pdf for Java");

// Установить сноску для второго фрагмента текста
text.setFootNote(new Note("foot note for second text fragment!"));

// Добавить второй текстовый фрагмент в коллекцию абзацев файла PDF
page.getParagraphs().add(text);

// Сохраните документ
document.save("C:\\Files\\PDF\\customize_footnote.pdf");
Настройте метку сноски и стиль линии с помощью Java.

Настройте метку сноски и стиль линии с помощью Java.

Добавить сноски в существующий PDF с помощью Java

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

  1. Во-первых, загрузите файл PDF с помощью класса Document.
  2. Затем получите конкретную страницу по ее индексу.
  3. Затем создайте объект TextFragmentAbsorber с поисковой фразой в качестве входных данных.
  4. После этого вызовите метод accept() для поиска введенной фразы со страницы.
  5. Затем получите первое вхождение поисковой фразы из TextFragmentCollection.
  6. Затем создайте пустой TextFragment и установите его положение на странице.
  7. Кроме того, установите значение Footnote для объекта TextFragment.
  8. После этого добавьте TextFragment в коллекцию Paragraphs.
  9. Наконец, сохраните файл PDF с помощью метода Document.Save(). В качестве аргумента принимает путь к выходному файлу.

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

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

// Создайте объект TextAbsorber, чтобы найти все экземпляры текстовой фразы.
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("Class");

// Получить конкретную страницу
Page page = document.getPages().get_Item(2);

// Принять абсорбер для второй страницы документа
page.accept(textFragmentAbsorber);

// Получить извлеченные текстовые фрагменты в коллекцию
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// Получить первое вхождение текста
TextFragment textFragment = textFragmentCollection.get_Item(1);

// Создайте пустой TextFragment
TextFragment text = new TextFragment("");

// Установить положение
Position position = textFragment.getPosition();
position = new Position(position.getXIndent() + 26, position.getYIndent());
text.setPosition(position);

// Установите значение сноски для TextFragment
text.setFootNote(new Note("This is example footnote added in an existing PDF!"));

// Добавить второй текстовый фрагмент в коллекцию абзацев файла PDF
page.getParagraphs().add(text);

// Сохраните документ
document.save("C:\\Files\\PDF\\Text_Added.pdf");
Добавление сносок к существующему PDF с использованием Java

Добавьте сноски к существующему PDF с помощью Java.

Добавить концевые сноски в PDF с помощью Java

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

  1. Во-первых, создайте экземпляр класса Document.
  2. Затем добавьте Page в PagesCollection документа.
  3. Затем создайте TextFragment.
  4. Затем установите значение Endnote для объекта TextFragment.
  5. При необходимости установите пользовательскую метку для концевой сноски.
  6. После этого добавьте TextFragment в коллекцию Paragraphs..
  7. Наконец, сохраните файл PDF с помощью метода Document.Save(). В качестве аргумента принимает путь к выходному файлу.

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

// В этом примере кода показано, как добавить концевые сноски в документ PDF.
// Создать экземпляр документа
Document doc = new Document();

// Добавить страницу в коллекцию страниц PDF
Page page = doc.getPages().add();

// Создать экземпляр TextFragment
TextFragment text = new TextFragment("Hello World");

// Установите значение FootNote для TextFragment
text.setEndNote(new Note("sample End note"));

// Укажите пользовательскую метку для FootNote
text.getEndNote().setText(" Aspose(2015)");

// Добавить TextFragment в коллекцию абзацев первой страницы документа
page.getParagraphs().add(text);

// Сохраните PDF-файл
doc.save("C:\\Files\\PDF\\EndNote.pdf");

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

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

Вывод

В этой статье мы узнали, как:

  • добавлять сноски и концевые сноски в документ PDF с помощью Java;
  • добавить изображение или таблицу в сноски в PDF;
  • настроить метку сноски и стиль линии с помощью Java;
  • добавлять сноски в существующий документ PDF с помощью Java.

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

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