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 с использованием 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");
Выход
Получите бесплатную лицензию API
Вы можете бесплатно попробовать Aspose.PDF для .NET, получив временную лицензию.
Вывод
Автоматизация PDF широко применяется для создания документов PDF и управления ими из веб-приложений или настольных приложений. В этой статье вы узнали, как программно повернуть текст в PDF с помощью C#. Мы подробно рассказали, как поворачивать текст с помощью классов TextFragment и TextParagraph. Кроме того, вы можете изучить другие функции, используя документацию Aspose.PDF для .NET. Если у вас возникнут какие-либо вопросы или вопросы, вы можете связаться с нами через наш форум.