Редактировать PDF-документы с помощью C#

Вы можете программно редактировать PDF-документы без установки каких-либо внешних приложений. Как разработчик C#, вы можете легко редактировать документы PDF в своих приложениях .NET. В этой статье основное внимание будет уделено тому, как редактировать 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, выполнив простые шаги, указанные ниже:

В следующем примере кода показано, как редактировать текст в документе 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#

Редактировать текст в PDF с помощью C#

Редактор — это основной класс, предоставляющий различные методы для выполнения процесса редактирования документа. Он также позволяет открывать, редактировать и сохранять документы. Метод Apply() этого класса применяет к документу определенную редакцию. Более того, метод Save() этого класса сохраняет документ в файл.

ExactPhraseRedaction предоставляет методы для выполнения редактирования текста для замены точной фразы в документе. Это также позволяет искать данные с учетом регистра, установив для IsCaseSensitive значение true.

Параметр ReplacementOptions представляет параметры замены совпадающего текста.

Класс RedactorChangeLog представляет результаты для списка исправлений, переданных методу Apply() класса Redactor.

Редактирование метаданных в PDF с использованием C#

Вы можете применить редактирование метаданных в документах PDF, выполнив простые шаги, указанные ниже:

В следующем примере кода показано, как редактировать метаданные в документе 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#

Редактировать метаданные в PDF с помощью C#

Класс EraseMetadataRedaction предоставляет методы для удаления всех метаданных. Это также позволяет удалить из документа метаданные, соответствующие определенным фильтрам метаданных.

MetadataFilters — это список наиболее распространенных типов метаданных документа, таких как «Автор», «Комментарии», «Компания».

Редактировать изображения в PDF с помощью C#

Вы можете применить редактирование изображений в документах PDF, выполнив простые шаги, указанные ниже:

В следующем примере кода показано, как редактировать изображения в документе 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#

Редактировать изображения в PDF с помощью C#

Класс ImageAreaRedaction позволяет разместить цветной прямоугольник в заданной области документа изображения.

Класс RegionReplacementOption представляет параметры цвета и области для области, которая будет заменена изображением.

Применение нескольких исправлений в PDF с помощью C#

Вы можете применить несколько редакций в документах PDF, выполнив простые шаги, указанные ниже:

В следующем примере кода показано, как применить несколько исправлений в документе 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#

Применение нескольких исправлений в PDF с помощью C#

Класс RegexRedaction позволяет выполнять редактирование текста. Вы можете искать и заменять любой текст в документе, сопоставляя текст с помощью регулярного выражения.

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

Вы можете попробовать API без ограничений по ознакомительной версии, запросив бесплатную временную лицензию.

Вывод

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

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