
Сноска — это примечание или текст, приведенный внизу определенной страницы, тогда как концевая сноска — это примечание, помещенное в конце документа. Обычно мы используем сноски или концевые сноски для ссылок, объяснений или комментариев в документе. Мы можем программно добавлять сноски/концевые сноски в документ PDF. В этой статье мы узнаем, как добавлять сноски и концевые сноски в документы PDF с помощью Java.
В этой статье должны быть раскрыты следующие темы:
- Java API для добавления сносок и концевых сносок в PDF
- Добавить сноски в PDF с помощью Java
- Добавить изображение в сноску в PDF
- Вставить таблицу в сноску в PDF
- Настройте метку сноски и стиль линии с помощью Java
- Добавить сноски в существующий PDF с помощью Java
- Добавить концевые сноски в 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, выполнив следующие действия:
- Во-первых, создайте экземпляр класса Document.
- Затем добавьте Page в PagesCollection документа.
- Затем создайте TextFragment.
- Затем установите значение Footnote для объекта TextFragment.
- Затем добавьте TextFragment в коллекцию Paragraphs.
- При необходимости повторите описанные выше шаги, чтобы добавить больше TextFragments для нескольких значений сносок.
- Наконец, сохраните файл 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
Мы можем добавить изображение в сноски документа PDF, выполнив следующие действия:
- Во-первых, создайте экземпляр класса Document.
- Затем добавьте Page в PagesCollection документа.
- Затем создайте TextFragment.
- Затем установите значение Footnote для объекта TextFragment.
- Затем добавьте изображение в объект TextFragment.
- После этого добавьте TextFragment в коллекцию Paragraphs.
- Наконец, сохраните файл 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.
Вставить таблицу в сноску в PDF
Мы также можем добавить таблицу в сноски документа PDF, выполнив следующие шаги:
- Во-первых, создайте экземпляр класса Document.
- Затем добавьте Page в PagesCollection документа.
- Затем создайте TextFragment.
- Затем установите значение Footnote для объекта TextFragment.
- Затем добавьте таблицу в объект TextFragment.
- После этого добавьте TextFragment в коллекцию Paragraphs.
- Наконец, сохраните файл 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.
Настройте метку сноски и стиль линии с помощью Java
Мы можем настроить метку сносок и стиль линии сноски в документе PDF, выполнив следующие шаги:
- Во-первых, создайте экземпляр класса Document.
- Затем добавьте Page в PagesCollection документа.
- Затем инициализируйте объект GraphInfo, чтобы настроить стиль линии.
- Установите свойства объекта GraphInfo, такие как LineWidth, Color, DashArray и т. д.
- Затем создайте TextFragment.
- Затем установите значение Footnote для объекта TextFragment.
- Затем инициализируйте объект TextState и установите различные свойства, например ForegroundColor, FontStyle и т. д.
- После этого добавьте TextFragment в коллекцию Paragraphs.
- При необходимости повторите описанные выше шаги, чтобы добавить больше TextFragments для нескольких значений сносок.
- Наконец, сохраните файл 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.
Добавить сноски в существующий PDF с помощью Java
Мы можем добавить сноски в существующий документ PDF, выполнив следующие шаги:
- Во-первых, загрузите файл PDF с помощью класса Document.
- Затем получите конкретную страницу по ее индексу.
- Затем создайте объект TextFragmentAbsorber с поисковой фразой в качестве входных данных.
- После этого вызовите метод accept() для поиска введенной фразы со страницы.
- Затем получите первое вхождение поисковой фразы из TextFragmentCollection.
- Затем создайте пустой TextFragment и установите его положение на странице.
- Кроме того, установите значение Footnote для объекта TextFragment.
- После этого добавьте TextFragment в коллекцию Paragraphs.
- Наконец, сохраните файл 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, выполнив следующие действия:
- Во-первых, создайте экземпляр класса Document.
- Затем добавьте Page в PagesCollection документа.
- Затем создайте TextFragment.
- Затем установите значение Endnote для объекта TextFragment.
- При необходимости установите пользовательскую метку для концевой сноски.
- После этого добавьте TextFragment в коллекцию Paragraphs..
- Наконец, сохраните файл 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, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.