
Вы можете программно редактировать PDF-документы без установки каких-либо внешних приложений. Как разработчик C#, вы можете легко редактировать документы PDF в своих приложениях .NET. В этой статье основное внимание будет уделено тому, как редактировать PDF-документы с помощью C#.
В этой статье обсуждаются/рассматриваются следующие темы:
- C# API для редактирования PDF
- Редактировать текст в PDF с помощью C#
- Редактирование метаданных в PDF с использованием C#
- Редактировать изображения в PDF с помощью C#
- Применение нескольких исправлений в PDF с помощью C#
C# API для редактирования PDF
Для редактирования документов PDF я буду использовать API GroupDocs.Redaction for .NET. Он позволяет редактировать PDF, Word, Excel, PowerPoint и файлы изображений. Это также позволяет вам удалять секретную информацию из более чем 30 типов поддерживаемых форматов. Вы можете применять различные типы редактирования, такие как редактирование текста, редактирование метаданных, редактирование аннотаций и редактирование табличных документов.
Вы можете либо загрузить DLL API, либо установить его с помощью NuGet.
Install-Package GroupDocs.Redaction
Редактировать текст в PDF с помощью C#
Вы можете легко применить редактирование текста в документах PDF, выполнив простые шаги, указанные ниже:
- Создайте экземпляр класса Редактор с путем к входному файлу.
- Создайте экземпляр класса ExactPhraseRedaction с SearchPhrase и ReplacementOptions.
- Вызвать метод Redactor.Apply().
- Получить результаты в объекте класса RedactorChangeLog
- Вызовите метод Redactor.Save().
В следующем примере кода показано, как редактировать текст в документе PDF с помощью C#.
// создать редактор
Redactor redactor = new Redactor("C:\\Files\\sample.pdf");
// создать точную редакцию фразы
ExactPhraseRedaction redaction = new ExactPhraseRedaction("John Doe", true, new ReplacementOptions("[personal]"));
// применить редактирование
RedactorChangeLog result = redactor.Apply(redaction);
if (result.Status != RedactionStatus.Failed)
{
redactor.Save();
};

Редактировать текст в PDF с помощью C#
Редактор — это основной класс, предоставляющий различные методы для выполнения процесса редактирования документа. Он также позволяет открывать, редактировать и сохранять документы. Метод Apply() этого класса применяет к документу определенную редакцию. Более того, метод Save() этого класса сохраняет документ в файл.
ExactPhraseRedaction предоставляет методы для выполнения редактирования текста для замены точной фразы в документе. Это также позволяет искать данные с учетом регистра, установив для IsCaseSensitive значение true.
Параметр ReplacementOptions представляет параметры замены совпадающего текста.
Класс RedactorChangeLog представляет результаты для списка исправлений, переданных методу Apply() класса Redactor.
Редактирование метаданных в PDF с использованием C#
Вы можете применить редактирование метаданных в документах PDF, выполнив простые шаги, указанные ниже:
- Создайте экземпляр класса Редактор с путем к входному файлу.
- Создайте экземпляр класса EraseMetadataRedaction с MetadataFilter для включения
- Вызвать метод Redactor.Apply().
- Вызовите метод Redactor.Save().
В следующем примере кода показано, как редактировать метаданные в документе PDF с помощью C#.
// создать редактор
Redactor redactor = new Redactor("C:\\Files\\sample.pdf");
// стереть автора, менеджера и компанию
EraseMetadataRedaction redaction = new EraseMetadataRedaction(MetadataFilters.Author | MetadataFilters.Manager | MetadataFilters.Company);
// применить редактирование
redactor.Apply(redaction);
redactor.Save();

Редактировать метаданные в PDF с помощью C#
Класс EraseMetadataRedaction предоставляет методы для удаления всех метаданных. Это также позволяет удалить из документа метаданные, соответствующие определенным фильтрам метаданных.
MetadataFilters — это список наиболее распространенных типов метаданных документа, таких как «Автор», «Комментарии», «Компания».
Редактировать изображения в PDF с помощью C#
Вы можете применить редактирование изображений в документах PDF, выполнив простые шаги, указанные ниже:
- Создайте экземпляр класса Редактор с путем к входному файлу.
- Определение точек рисования и размера
- Создайте экземпляр класса ImageAreaRedaction с точками рисования и RegionReplacementOptions.
- Вызвать метод Redactor.Apply().
- Вызовите метод Redactor.Save().
В следующем примере кода показано, как редактировать изображения в документе PDF с помощью C#.
// создать редактор
Redactor redactor = new Redactor("C:\\Files\\sample_with_images.pdf");
// определить размер и точки
System.Drawing.Point samplePoint = new System.Drawing.Point(0, 0);
System.Drawing.Size sampleSize = new System.Drawing.Size(300, 240);
// определить редактирование области изображения
ImageAreaRedaction redaction = new ImageAreaRedaction(samplePoint,
new RegionReplacementOptions(System.Drawing.Color.Blue, sampleSize));
// применить редактирование
RedactorChangeLog result = redactor.Apply(redaction);
if (result.Status != RedactionStatus.Failed)
{
redactor.Save();
};

Редактировать изображения в PDF с помощью C#
Класс ImageAreaRedaction позволяет разместить цветной прямоугольник в заданной области документа изображения.
Класс RegionReplacementOption представляет параметры цвета и области для области, которая будет заменена изображением.
Применение нескольких исправлений в PDF с помощью C#
Вы можете применить несколько редакций в документах PDF, выполнив простые шаги, указанные ниже:
- Создайте экземпляр класса Редактор с путем к входному файлу.
- Создайте ExactPhraseRedaction, RegexRedaction и EraseMetadataRedaction.
- Добавить созданные редакции в список редакций
- Вызовите метод Redactor.Apply().
- Вызовите метод Redactor.Save()., show errors if failed
В следующем примере кода показано, как применить несколько исправлений в документе PDF с помощью C#.
// создать редактор
Redactor redactor = new Redactor("C:\\Files\\sample.pdf");
// определить несколько редакций
var redactionList = new Redaction[]
{
new ExactPhraseRedaction("John Doe", new ReplacementOptions("[Client]")),
new RegexRedaction("Redaction", new ReplacementOptions("[Product]")),
new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions(System.Drawing.Color.Blue)),
new EraseMetadataRedaction(MetadataFilters.All)
};
// применить исправления
RedactorChangeLog result = redactor.Apply(redactionList);
// сохранить, если применяется, иначе показать ошибки
if (result.Status == RedactionStatus.Applied)
{
redactor.Save();
}
else if (result.Status == RedactionStatus.Failed)
{
for (int i = 0; i < result.RedactionLog.Count; i++)
{
RedactorLogEntry logEntry = result.RedactionLog[i];
if (logEntry.Result.Status != RedactionStatus.Applied)
{
Console.WriteLine("{0} status is {1}, details: {2}",
logEntry.Redaction.GetType().Name,
logEntry.Result.Status,
logEntry.Result.ErrorMessage);
}
}
};

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