Поворот текста внутри PDF-документов в Java

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

Java API для поворота текста в PDF

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

Репозиторий:

    <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.4</version>
</dependency>

Повернуть текст внутри PDF в Java

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

Вращение текста PDF с использованием TextFragment в Java

Ниже приведены шаги для поворота текстового фрагмента в документе PDF с использованием Java.

  • Сначала создайте новый документ, используя класс Document.
  • Затем добавьте страницу в документ и получите ссылку на нее с помощью метода Document.getPages().add().
  • После этого создайте новый текстовый фрагмент с помощью класса TextFragment.
  • Установите положение фрагмента текста и шрифт.
  • Установите угол поворота с помощью метода TextFragment.getTextState().setRotation().
  • Создайте новый объект TextBuilder и инициализируйте его с помощью объекта Page.
  • Используйте метод TextBuilder.appendText(TextFragment) для добавления текста на страницу.
  • Наконец, сохраните документ PDF, используя метод Document.save(string).

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

// Инициализировать объект документа
Document pdfDocument = new Document();

// Получить конкретную страницу
Page pdfPage = pdfDocument.getPages().add();

// Создать текстовый фрагмент
TextFragment textFragment1 = new TextFragment("main text");
textFragment1.setPosition(new Position(100, 600));

// Установить свойства текста
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// Создать повернутый текстовый фрагмент
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.setPosition(new Position(200, 600));
// Установить свойства текста
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment2.getTextState().setRotation(45);

// Создать повернутый текстовый фрагмент
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.setPosition(new Position(300, 600));

// Установить свойства текста
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment3.getTextState().setRotation(90);

// Создать объект TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);

// Добавить текстовый фрагмент на страницу PDF
textBuilder.appendText(textFragment1);
textBuilder.appendText(textFragment2);
textBuilder.appendText(textFragment3);

// Сохранить документ
pdfDocument.save("Rotate_Text_TextFragment.pdf");

Выход

Вращение текста PDF с использованием TextFragment в Java

Вращение текста PDF с использованием TextParagraph в Java

Вы также можете применить поворот к тексту при создании нового абзаца. Этого можно добиться с помощью класса TextParagraph. Ниже приведены шаги для применения поворота текста с помощью класса TextParagraph.

  • Сначала создайте новый документ, используя класс Document.
  • Затем добавьте страницу в документ и получите ссылку на нее с помощью метода Document.getPages().add().
  • После этого создайте новый объект TextParagraph.
  • Создайте новый текстовый фрагмент с помощью класса TextFragment и установите текст и шрифт.
  • Установите угол поворота с помощью метода TextFragment.getTextState().setRotation().
  • Добавьте текст в абзац, используя метод TextParagraph.appendLine(TextFragment).
  • Создайте новый объект TextBuilder и инициализируйте его с помощью объекта Page.
  • Используйте метод TextBuilder.appendParagraph(TextParagraph), чтобы добавить абзац на страницу.
  • Наконец, сохраните документ PDF с помощью метода Document.save(string).

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

// Инициализировать объект документа
Document pdfDocument = new Document();

// Получить конкретную страницу
Page pdfPage = (Page) pdfDocument.getPages().add();

// Создать текстовый абзац
TextParagraph paragraph = new TextParagraph();
paragraph.setPosition(new Position(200, 600));

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

// Установить свойства текста
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// Установить вращение
textFragment1.getTextState().setRotation(45);

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

// Установить свойства текста
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

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

// Установить свойства текста
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// Установить вращение
textFragment3.getTextState().setRotation(-45);

// Присоединить фрагменты текста к абзацу
paragraph.appendLine(textFragment1);
paragraph.appendLine(textFragment2);
paragraph.appendLine(textFragment3);

// Создать объект TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);

// Добавить текстовый абзац на страницу PDF
textBuilder.appendParagraph(paragraph);

// Сохранить документ
pdfDocument.save("Rotate_Text_TextParagraph.pdf");

Выход

Вращение текста PDF с использованием TextParagraph в Java

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

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

Вывод

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

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