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

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

С# .NET API для поворота текста в PDF

Aspose.PDF for .NET — это библиотека классов C#, которая предоставляет как базовые, так и расширенные функции работы с PDF для приложений .NET. Используя API, вы можете легко создавать PDF-документы с простыми или сложными макетами. Мы будем использовать этот API для поворота текста внутри PDF-документов. Вы можете либо скачать библиотеку DLL API, либо установить ее с помощью NuGet.

PM> Install-Package Aspose.PDF

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

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

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

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

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

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

// Инициализировать объект документа
Document pdfDocument = new Document();
            
// Получить конкретную страницу
var pdfPage = pdfDocument.Pages.Add();
            
// Создать текстовый фрагмент
TextFragment textFragment1 = new TextFragment("main text");
textFragment1.Position = new Position(100, 600);
            
// Установить свойства текста
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
            
// Создать повернутый текстовый фрагмент
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.Position = new Position(200, 600);
            
// Установить свойства текста
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment2.TextState.Rotation = 45;
            
// Создать повернутый текстовый фрагмент
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.Position = new Position(300, 600);
            
// Установить свойства текста
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment3.TextState.Rotation = 90;
            
// создать объект TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
            
// Добавить текстовый фрагмент на страницу PDF
textBuilder.AppendText(textFragment1);
textBuilder.AppendText(textFragment2);
textBuilder.AppendText(textFragment3);
            
// Сохранить документ
pdfDocument.Save("Rotation_TextFragment.pdf");

Выход

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

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

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

  • Сначала создайте новый документ, используя класс Document.
  • Затем добавьте страницу в документ и получите ссылку на нее с помощью метода Document.Pages.Add().
  • После этого создайте новый объект TextParagraph.
  • Создайте новый текстовый фрагмент с помощью класса TextFragment и установите текст и шрифт.
  • Задайте угол поворота с помощью свойства TextFragment.TextState.Rotation.
  • Добавьте текст в абзац, используя метод TextParagraph.AppendLine(TextFragment).
  • Создайте новый объект TextBuilder и инициализируйте его с помощью объекта Page.
  • Используйте метод TextBuilder.AppendParagraph(TextParagraph), чтобы добавить абзац на страницу.
  • Наконец, сохраните документ PDF, используя метод Document.Save(string).

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

// Инициализировать объект документа
Document pdfDocument = new Document();
           
// Получить конкретную страницу
var pdfPage = pdfDocument.Pages.Add();
TextParagraph paragraph = new TextParagraph();
paragraph.Position = new Position(200, 600);
            
// Создать текстовый фрагмент
TextFragment textFragment1 = new TextFragment("rotated text");
            
// Установить свойства текста
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
            
// Установить вращение
textFragment1.TextState.Rotation = 45;
            
// Создать текстовый фрагмент
TextFragment textFragment2 = new TextFragment("main text");
            
// Установить свойства текста
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
            
// Создать текстовый фрагмент
TextFragment textFragment3 = new TextFragment("another rotated text");
            
// Установить свойства текста
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
            
// Установить вращение
textFragment3.TextState.Rotation = -45;
            
// Присоединить фрагменты текста к абзацу
paragraph.AppendLine(textFragment1);
paragraph.AppendLine(textFragment2);
paragraph.AppendLine(textFragment3);
            
// Создать объект TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
            
// Добавить текстовый абзац на страницу PDF
textBuilder.AppendParagraph(paragraph);

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

Выход

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

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

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

Вывод

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

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