Многим приложениям необходимо добавлять текст в PDF в .NET, чтобы динамически аннотировать документы. Conholdate.Total for .NET — это комплексный SDK, который упрощает работу с PDF на сервере или настольном компьютере. В этом руководстве вы увидите, как установить библиотеку, загрузить существующий PDF, вставить стилизованный текст и сохранить обновлённый файл с полным, готовым к запуску примером кода.
Требования к добавлению текста в PDF на Java
Разработчики, создающие фронтенды на Java, часто нуждаются в .NET‑сервисе, который может изменять PDF‑файлы на сервере. Типичные требования включают:
- Загрузка существующего PDF без потери существующего содержимого.
- Добавление пользовательского текста в точных координатах с указанием шрифта и цвета.
- Сохранение изменённого PDF с сохранением исходного макета и метаданных.
Ручное редактирование или общие инструменты командной строки не могут удовлетворить эти требования в автоматизированном рабочем процессе, особенно когда операция должна быть выполнена программно для множества файлов.
Выбор Conholdate.Total for .NET для задачи
Conholdate.Total for .NET предлагает богатый набор PDF API, которые напрямую решают перечисленные требования. Он может:
- Открывайте и редактируйте PDF без конвертации.
- Создавайте объекты
TextFragmentс полным контролем стилей. - Вставляйте фрагменты на любую страницу в точных позициях.
- Сохраняйте результат одним вызовом метода.
SDK поставляется в виде пакета NuGet, работает на всех .NET runtime и включает подробную документацию и обширную справку API. Вы можете скачать последнюю сборку со страницы релизов.
Пошаговое руководство: Добавление текста в PDF в .NET
Ниже представлено практическое пошаговое руководство, которое отражает код, показанный позже в полном примере.
Install Conholdate.Total for .NET
Сначала добавьте SDK в ваш проект через NuGet.
dotnet add package Conholdate.Total --version 25.10.0
Вы также можете получить бинарные файлы по URL для загрузки.
Загрузка существующего PDF-документа
Создайте экземпляр Document, указывающий на исходный PDF.
using GroupDocs.Pdf;
string inputPath = "input.pdf";
// Load the existing PDF document
using (Document pdfDocument = new Document(inputPath))
{
// further processing...
}
Класс Document является частью PDF API, описанного в справочнике API.
Создание и настройка текстового фрагмента
Создайте экземпляр TextFragment, задайте его позицию, шрифт и цвет.
using GroupDocs.Pdf.Contents;
using GroupDocs.Pdf.Contents.Text;
using GroupDocs.Pdf.Contents.Fonts;
// Create a text fragment to insert
TextFragment textFragment = new TextFragment("Added text using Conholdate.Total for .NET");
// Set visual properties
textFragment.Position = new Position(100, 150); // X and Y coordinates in points
textFragment.Font = new Font("Arial", 12);
textFragment.Color = new Color(255, 0, 0); // Red color
Этот шаг демонстрирует вставку текста в PDF с использованием .NET библиотеки с полными параметрами стилизации.
Добавить текстовый фрагмент на страницу
Выберите целевую страницу (в данном случае первая) и добавьте фрагмент.
// Ensure there is at least one page
Page page = pdfDocument.Pages.Count > 0 ? pdfDocument.Pages[0] : pdfDocument.Pages.Add();
// Add the text fragment to the page
page.Paragraphs.Add(textFragment);
Вы можете повторять этот блок, чтобы добавлять текст в PDF‑файл в .NET на нескольких страницах или позициях.
Сохранить изменённый PDF-документ
Наконец, запишите изменения в новый файл.
string outputPath = "output.pdf";
// Save the modified PDF
pdfDocument.Save(outputPath);
SDK обрабатывает все низкоуровневые структуры PDF, поэтому сохранённый файл сохраняет оригинальное содержимое плюс новую аннотацию.
Полный пример кода: Добавление текста в PDF в .NET
Следующий пример демонстрирует весь процесс от начала до конца.
using System;
using GroupDocs.Pdf;
using GroupDocs.Pdf.Contents;
using GroupDocs.Pdf.Contents.Text;
using GroupDocs.Pdf.Contents.Fonts;
class Program
{
static void Main()
{
string inputPath = "input.pdf";
string outputPath = "output.pdf";
// Load the existing PDF document
using (Document pdfDocument = new Document(inputPath))
{
// Ensure there is at least one page
Page page = pdfDocument.Pages.Count > 0 ? pdfDocument.Pages[0] : pdfDocument.Pages.Add();
// Create a text fragment to insert
TextFragment textFragment = new TextFragment("Added text using Conholdate.Total for .NET");
// Set visual properties
textFragment.Position = new Position(100, 150); // X and Y coordinates in points
textFragment.Font = new Font("Arial", 12);
textFragment.Color = new Color(255, 0, 0); // Red color
// Add the text fragment to the page
page.Paragraphs.Add(textFragment);
// Save the modified PDF
pdfDocument.Save(outputPath);
}
Console.WriteLine($"Text successfully added. Output saved to '{outputPath}'.");
}
}
Примечание: Этот пример кода демонстрирует основную функциональность. Прежде чем использовать его в вашем проекте, убедитесь, что обновили все пути к файлам и значения конфигурации, чтобы они соответствовали вашей реальной среде, проверьте, что все необходимые зависимости правильно установлены, и тщательно протестируйте в вашей среде разработки. Если вы столкнётесь с какими‑либо проблемами, обратитесь к официальной документации или свяжитесь с службой поддержки для получения помощи.
Заключение
Добавление текста в PDF в .NET является простым благодаря мощным возможностям Conholdate.Total for .NET. Следуя описанным выше шагам, вы можете загрузить документ, создать стилизованный TextFragment, точно разместить его и сохранить результат, используя всего несколько строк кода. Не забудьте применить действующую лицензию для производственных развертываний; временную лицензию можно получить на странице лицензий и ознакомиться с вариантами ценообразования на странице цен. Имея эту основу, вы можете расширить подход для многострочных аннотаций, динамического вставления данных или пакетной обработки PDF‑файлов.
Часто задаваемые вопросы
Как вставить текст в PDF с помощью библиотеки .NET?
Используйте класс TextFragment из PDF API, задайте его Position, Font и Color, затем добавьте его в коллекцию Paragraphs страницы. Полный процесс показан в приведённом выше примере кода.
Могу ли я добавить текст в существующий PDF с .NET, не перезаписывая другое содержимое?
Да. SDK изменяет PDF на месте, сохраняя существующие страницы, изображения и аннотации, одновременно добавляя новые фрагменты текста.
Какой лучший способ добавить текст в PDF‑файл в .NET для нескольких страниц?
Пройдитесь по коллекции Pages, создайте TextFragment для каждой страницы, настройте его позицию и добавьте его в Paragraphs страницы. Такой подход масштабируется на любое количество страниц.
