Расширенная PDF библиотека для C# и .NET
SautinSoft.Pdf - это мощная библиотека для работы с PDF-документами в .NET, включая .NET Core и .NET Framework. Создана для C# разработчиков, кому необходимо взаимодействовать с PDF документами в своих приложениях.
Основные функции:
- Извлечение текста из PDF: SautinSoft.Pdf позволяет извлекать текст из PDF-документов с помощью простого API, что делает его идеальным для дальнейшей обработки данных.
- Создание и Запись PDF: Библиотека предоставляет возможности для создания новых PDF-файлов, редактирования содержимого, добавления изображений, изменения форматирования текста, удаления страниц и сохранения документа в нужной версии PDF.
- Извлечение изображений: Используя SautinSoft.Pdf, вы можете извлекать растровую и векторную графику из PDF-документов, а также фильтровать изображения по минимальному и максимальному размеру.
- Объединение и Разделение PDF-документов: Библиотека предоставляет инструменты для вставки, удаления или изменения порядка страниц, а также для объединения, клонирования или разделения документов.
- Интерактивные формы: Пользователи могут заполнять, редактировать и создавать новые интерактивные формы, а также автоматически заполнять данные из любого существующего источника. Поддерживается процесс "сглаживания" интерактивных PDF-форм, превращая их в статическое содержимое.
Преимущества использования SautinSoft.Pdf:
- Полнофункциональная библиотека: SautinSoft.Pdf позволяет выполнять любые операции с PDF-документами, включая создание, чтение, редактирование, печать, разделение и объединение, цифровую подпись, извлечение текста и изображений, конвертацию в PDF/A, сжатие и защиту документов.
- Независимость и скорость: Библиотека не зависит от Adobe или других сторонних программ, полностью написана на управляемом C# и обеспечивает высокую скорость обработки.
- Поддержка различных платформ: SautinSoft.Pdf поддерживает Windows (10, 11, Server 2016-2022), Linux (Debian, CentOS, Ubuntu), macOS (Intel + Apple silicon), а также облачные платформы, такие как AWS, Kubernetes, Azure и Docker.
Лицензирование и поддержка:
СаутинСофт предлагает три типа лицензий, включая бесплатную техническую поддержку и бесплатные обновления в течение одного года. Техническая поддержка включает помощь через веб-чат, электронную почту и групповые чаты в Skype.Заключение:
SautinSoft.Pdf — идеальное решение для разработчиков, которым необходимо интегрировать расширенные возможности работы с PDF в свои .NET-приложения. Простое API, высокая производительность и поддержка множества платформ делают SautinSoft.Pdf удобным инструментом для разработки и расширения функциональности приложений, работающих с PDF.
Продукт полностью написан на C# и поддерживает все версии PDF — от старых 1.0 до новейших 2.0, включая разлтчные PDF/A стандарты.
Создание PDF-документов на C#
Используйте библиотеку SautinSoft.Pdf для создания PDF-документов в приложениях, написанных на платформах .NET Framework и .NET.
Вы можете добавлять верхние и нижние колонтитулы, страницы, таблицы и абзацы. Продукт автоматически делит содержимое на страницы. Добавляйте текст, изображения и векторную графику в ваши PDF.
Возможно работать с интерактивными формами PDF, включая заполнение, редактирование и создание новых форм, аннотации, закладки и слои. Вы можете добавлять как одну подпись, так и несколько подписей в PDF-документы на C#, а также защищать паролем созданные PDF-документы.
using SautinSoft.Pdf;
using (var document = new PdfDocument())
{
var page = document.Pages.Add();
var formattedText = new PdfFormattedText();
formattedText.FontSize = 15;
formattedText.FontFamily = new PdfFontFamily("Calibri");
formattedText.Color = PdfColor.FromRgb(1, 0, 0);
formattedText.Append("Hello World!");
page.Content.DrawText(formattedText, new PdfPoint(110, 650));
document.Save("Hello World.pdf");
}
using SautinSoft.Pdf;
using (var document = PdfDocument.Load(pdfFile))
{
var text = page.Content.GetText(new PdfTextOptions
{
FontFace = new PdfFontFace("Consolas"),
Order = PdfTextOrder.Reading,
Whitespaces = PdfTextWhitespaces.Space | PdfTextWhitespaces.Blank | PdfTextWhitespaces.NewLine
}).ToString();
Console.WriteLine(text);
}
Извлечение текста из PDF на C#
Для извлечения текста из PDF-документов в .NET среде разработки используйте библиотеку SautinSoft.Pdf. Как для извлечения форматированного текста, так и таблиц для дальнейшего анализа.
Дополнительно можно извлечь дополнительную информацию (координаты, границы, шрифт, цвет, стиль) о каждом фрагменте текста, что упрощает поиск и выделение определенных фраз в PDF-документах.
Поддерживаются все мировые языки и направления текста: справа налево и двунаправленный текст.
Поиск и замена текста внутри PDF на C#
Библиотека SautinSoft.Pdf предоставляет C#-разработчикам удобные инструменты для поиска и замены текста в PDF-документах. Функция поиска и замены позволяет найти определенный текст и заменить его новым содержимым, включая настройку форматирования нового текста.
SDK позволяет легко интегрировать функции замены текста в PDF-документы, обеспечивая эффективную и точную обработку текста.
using (PdfDocument document = PdfDocument.Load("Find.pdf"))
{
foreach (var page in document.Pages)
{
var search = page.Content.GetText().Find("North");
foreach (var text in search)
{
var element = text.Elements.First();
var font = element.Format.Text.Font;
double size = Math.Min(text.Bounds.Height, font.Size * element.TextTransform.M11);
using (var formattedText = new PdfFormattedText() { Font = font, Color = PdfColor.FromRgb(1, 0, 0), FontSize = size })
{
formattedText.Append("South");
page.Content.DrawText(formattedText, new PdfPoint(text.Bounds.Left, text.Bounds.Bottom));
}
text.Redact();
}
}
document.Save("Replace.pdf");
}
Цифровые подписи в PDF на C#
Интеграция функции цифровой подписи в PDF-документы, включая возможность добавления нескольких подписей в один PDF-файл. Использование SautinSoft.Pdf в C# защищает документ от несанкционированных изменений и подтверждает его подлинность. API, который прост и интуитивно понятен, позволяет разработчикам легко внедрять эту функциональность в свои программные продукты.
Библиотека также предоставляет функции для добавления цифровой подписи в PDF-документ, включая рукописное изображение, фиксацию времени подписания, защиту паролем и доступ к аттрибутам подписи.
using SautinSoft.Pdf;
var document = PdfDocument.Load(pdfFile);
{
// Add a signature field.
var sig = document.Form.Fields.AddSignature(document.Pages[0], 10, 10, 250, 50);
// Create new Signer.
PdfSigner pdfSigner = new PdfSigner(@"..\..\..\sautinsoft.pfx", "123456789");
// Configure signer.
pdfSigner.Timestamper = new PdfTimestamper(@"https://tsa.cesnet.cz:5817/tsa");
pdfSigner.SignatureFormat = PdfSignatureFormat.CAdES;
pdfSigner.SignatureLevel = PdfSignatureLevel.PAdES_B_LTA;
pdfSigner.HashAlgorithm = PdfHashAlgorithm.SHA256;
pdfSigner.Location = "Test workplace";
pdfSigner.Reason = "Test";
var im = PdfImage.Load(@"..\..\..\JPEG2.jpg");
sig.Appearance.Icon = im;
sig.Appearance.TextPlacement = PdfTextPlacement.TextRightOfIcon;
// Sign PDF Document.
var si = sig.Sign(pdfSigner);
// Save PDF Document.
document.Save();
}
Безвозвратное удаление текста (redact text) в PDF на C#
С помощью SautinSoft.Pdf вы можете легко и эффективно полностью удалить текст в PDF-документах прямо из приложения C#. Библиотека предоставляет удобные инструменты для сокрытия конфиденциальной информации, исправления опечаток и внесения других изменений в текст PDF-файлов.
Удаление (redact) в целях безопасности подразумевает необратимое уничтожение выбранных данных в документах, что исключает возможность их последующего восстановления и гарантирует строгое соблюдение стандартов информационной безопасности.
using SautinSoft.Pdf;
using (PdfDocument document = PdfDocument.Load(@"Input.pdf"))
{
// Assume we want to redact (delete) the word "the"
string textToRedact = "the";
foreach (var page in document.Pages)
{
var texts = page.Content.GetText().Find(textToRedact);
foreach (var text in texts)
{
text.Redact();
// Draw a green rectangle instead of removed text.
var bounds = text.Bounds;
var rectangle = page.Content.Elements.AddPath().AddRectangle(new PdfPoint(bounds.Left, bounds.Bottom), new PdfSize(bounds.Width, bounds.Height));
rectangle.Format.Fill.IsApplied = true;
rectangle.Format.Fill.Color = PdfColor.FromRgb(0, 1, 0);
}
}
document.Save(@"Redacted.pdf");
}
using SautinSoft.Pdf;
using (var document = new PdfDocument())
{
// Add a new page.
var page = document.Pages.Add();
double margin = 10;
// Set up and fill the PdfFormattedText object.
formattedText.TextAlignment = PdfTextAlignment.Left;
formattedText.MaxTextWidth = 100;
formattedText.Append("This text is left aligned, ").
Append("placed in the top-left corner of the page and ").
Append("its width should not exceed 100 points.");
// Draw left-aligned text in the top-left corner of the page.
page.Content.DrawText(formattedText,
new PdfPoint(margin,
page.CropBox.Top - margin - formattedText.Height));
// Clear the PdfFormattedText object.
formattedText.Clear();
}
Рисование текста и графики в PDF на C#
Библиотека SautinSoft.Pdf предоставляет C#-разработчикам удобные инструменты для работы с текстом и графикой в документах PDF. Рисование текста и графики позволяет задать расположение и форматирование вставленного текста и изображений.
SautinSoft.Pdf поможет легко интегрировать функции рисования текста и графики в PDF в любое ваше приложение.
Интерактивные формы в PDF на C#
Интерактивные формы PDF — это мощный инструмент для сбора данных и взаимодействия с пользователем. Библиотека SautinSoft.Pdf предоставляет разработчикам удобные инструменты для работы с этими формами, позволяя им создавать, читать и заполнять их в приложениях C# и .NET.
Для создания интерактивных форм SautinSoft.Pdf использует класс PdfDocument, который предоставляет доступ к свойству Form. Используя это свойство, вы можете добавлять различные типы полей формы, такие как текстовые поля, переключатели, флажки, раскрывающиеся списки, поля подписи и кнопки.
using SautinSoft.Pdf;
using (var document = PdfDocument.Load(pdfFile))
// Group fields by name because all fields with the same name are actually different representations (widget annotations) of the same field.
// Radio button fields are usually grouped. Other field types are rarely grouped.
foreach (var fieldGroup in document.Form.Fields.GroupBy(field => field.Name))
{
var field = fieldGroup.First();
fieldType = field.FieldType;
fieldName = '"' + field.Name + '"';
fieldValue = field.Value;
foreach (var widgetField in fieldGroup)
{
switch (widgetField.FieldType)
{
case PdfFieldType.CheckBox:
case PdfFieldType.RadioButton:
// Check box and radio button are toggle button fields.
var toggleField = (PdfToggleButtonField)widgetField;
fieldExportValueOrChoice = toggleField.FieldType == PdfFieldType.CheckBox ?
writer.WriteLine(separator);
}
Console.Write(writer.ToString());
}
Почему стоит выбрать SautinSoft.Pdf?
Полный набор инструментов для работы с PDF
Библиотека может выполнять любые операции с PDF-документами: чтение, запись и редактирование.
Быстрая и независимая
SautinSoft.Pdf полностью написана на C# и не имеет зависимостей. Обеспечивает фантастическую скорость.
Windows, Linux и macOS
Разработка для любой .NET платформы и основных операционных систем.
Удобный доступ к структуре PDF-документа.
Манипулирование базовыми PDF-объектами (массив, словарь, поток и т. д.) и высокоуровневыми объектами (страница, текст, графика, ссылки, аннотации, поля и т. д.).
Интерактивные формы и аннотации
Заполнение, редактирование и создание интерактивных форм и различных аннотаций.
Лицензирование и бесплатная поддержка
Простые лицензии с бесплатной технической поддержкой и обновлениями в течение одного года.
Основные характеристики
Извлечение текста
API для извлечения любого текста, таблиц, изображений со всей информацией и готовностью к дальнейшей обработке.
Редактирование
Окончательное редактирование конфиденциальной информации в PDF. Удаление определенных данных или текста.
Создание, чтение, запись, редактирование
Библиотека имеет собственный парсер и редактор, которые поддерживают все версии и стандарты PDF.
Рисование текста и графики
Позволяет устанавливать местоположение и форматирование для вставленного текста и изображений.
Интерактивные формы
Поддерживает поля формы, такие как текст, переключатель, флажок, выпадающий список и список.
Простой API
Управление PDF внутри вашего приложения:
- Чтение текста из PDF.
- Создание и запись PDF.
- Конвертация изображений в PDF.
- Печать документов PDF.
- Объединение файлов PDF.
- Разделение PDF по страницам.
- Поиск и замена текста в PDF.
- Заполнение интерактивных форм PDF.
- Шифрование документов PDF.
- Цифровая подпись PDF.
- Клонирование или импорт страниц.
- Форматирование содержимого PDF.
- Добавление водяных знаков в PDF.
- Получение и настройка свойств документа.
- Экспорт и импорт изображений в PDF.
- Добавление векторного графического содержимого.
- Получение, создание или редактирование закладок.
- Добавление гиперссылок в PDF.
- Управление потоками и ресурсами.
Let us say, to merge multiple PDF documents in C#:
using SautinSoft.Pdf;
class Program
{
static void Main()
{
// List of source files.
var fileNames = new string[]
{
"Doc1.pdf",
"Doc2.pdf",
"Doc3.pdf"
};
using (var document = new PdfDocument())
{
// Merge multiple PDF files into single PDF.
foreach (var fileName in fileNames)
using (var source = PdfDocument.Load(fileName))
document.Pages.Kids.AddClone(source.Pages);
document.Save("Merged.pdf");
}
}
}
Расширенные возможности
На самом деле компонент может предоставить вам множество опций для работы с PDF. Смотрите Руководство разработчика, чтобы узнать простые, продвинутые и сложные примеры, оно содержит много примеров.