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

Метаданные — это визитная карточка конкретного цифрового документа, состоящая из набора свойств. Эти свойства содержат основную информацию о документе, такую как заголовок, автор, тема, ключевые слова и т. д. Расширяемая платформа метаданных (XMP) — это формат на основе XML, который позволяет сохранять метаданные документа в паре ключ/значение. Мы можем программно добавлять/редактировать информацию о документе и метаданные XMP в документе PDF. В этой статье мы узнаем, как редактировать метаданные файлов PDF с помощью C#.

В этой статье должны быть раскрыты следующие темы:

C# API для редактирования метаданных PDF-файлов

Для редактирования метаданных в документе PDF мы будем использовать Aspose.PDF для .NET API. Это позволяет нам создавать, изменять, преобразовывать, отображать, защищать и печатать поддерживаемые документы без использования Adobe Acrobat. Пожалуйста, загрузите DLL API или установите его с помощью NuGet.

PM> Install-Package Aspose.Pdf

Редактировать метаданные файла PDF в C#

Мы можем редактировать информацию PDF-документа, используя класс DocumentInfo, который представляет метаинформацию PDF-документа. Мы можем установить различные предопределенные свойства, выполнив следующие шаги:

  1. Во-первых, загрузите документ PDF с помощью класса Document.
  2. Затем создайте экземпляр класса DocumentInfo с объектом класса Document в качестве аргумента.
  3. Затем установите различные свойства, такие как «Автор», «Дата создания», «Ключевые слова», «Тема», «Заголовок» и т. д.
  4. Наконец, сохраните файл PDF с помощью метода Document.Save() с путем к выходному файлу в качестве аргумента.

В следующем примере кода показано, как редактировать метаданные PDF-файла с помощью C#.

// В этом примере кода показано, как установить основную информацию документа PDF.
// Открыть документ
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");

// Инициализировать объект DocumentInfo
DocumentInfo docInfo = new DocumentInfo(pdfDocument);

// Укажите свойства информации о документе
docInfo.Author = "Aspose";
docInfo.CreationDate = DateTime.Now;
docInfo.Keywords = "Aspose.Pdf, DOM, API";
docInfo.ModDate = DateTime.Now;
docInfo.Subject = "PDF Information";
docInfo.Title = "Setting PDF Document Information";

// Сохранить документ
pdfDocument.Save("C:\\Files\\PDF\\sample_metadata.pdf");
Редактировать метаданные файла PDF в C#.

Редактировать метаданные файла PDF в C#.

Получить метаданные файла PDF с помощью С#

Мы можем прочитать основную информацию о PDF-документе, выполнив следующие шаги:

  1. Во-первых, загрузите документ PDF с помощью класса Document.
  2. Затем создайте экземпляр класса DocumentInfo с объектом класса Document в качестве аргумента.
  3. Наконец, покажите информацию о документе, прочитав значения свойств метаданных.

В следующем примере кода показано, как получить метаданные PDF-файла с помощью C#.

// В этом примере кода показано, как получить основную информацию о документе PDF.
// Открыть документ
Document pdfDocument = new Document("C:\\Files\\PDF\\sample_metadata.pdf");

// Получить информацию о документе
DocumentInfo docInfo = pdfDocument.Info;

// Показать информацию о документе
Console.WriteLine("Author: {0}", docInfo.Author);
Console.WriteLine("Creation Date: {0}", docInfo.CreationDate);
Console.WriteLine("Keywords: {0}", docInfo.Keywords);
Console.WriteLine("Modify Date: {0}", docInfo.ModDate);
Console.WriteLine("Subject: {0}", docInfo.Subject);
Console.WriteLine("Title: {0}", docInfo.Title);
Author: Aspose
Creation Date: 2/9/2022 9:47:00 AM
Keywords: Aspose.Pdf, DOM, API
Modify Date: 2/9/2022 9:47:00 AM
Subject: PDF Information
Title: Setting PDF Document Information

Получить метаданные XMP файла PDF с помощью С#

Мы можем прочитать метаданные XMP документа PDF, выполнив следующие действия:

  1. Во-первых, загрузите документ PDF с помощью класса Document.
  2. Наконец, прочитайте свойство Metadata и извлеките информацию.

В следующем примере кода показано, как получить метаданные XMP файла PDF с помощью C#.

// В этом примере кода показано, как получить метаданные XMP документа PDF.
// Открыть документ
Document pdfDocument = new Document("C:\\Files\\PDF\\sample_xmp.pdf");

// Показать XMP-информацию
Console.WriteLine("xmp:CreateDate : " + pdfDocument.Metadata["xmp:CreateDate"]);
Console.WriteLine("xmp:Nickname : " + pdfDocument.Metadata["xmp:Nickname"]);
Console.WriteLine("xmp:CustomProperty : " + pdfDocument.Metadata["xmp:CustomProperty"]);
xmp:CreateDate: 2022-02-09T08:57:00.7+05:00
xmp:Nickname: Nickname
xmp:CustomProperty: Custom Value

Установите метаданные XMP в файл PDF с помощью С#

Мы можем установить метаданные XMP в файле PDF, используя свойство Metadata класса Document, выполнив следующие шаги:

  1. Во-первых, загрузите документ PDF с помощью класса Document.
  2. Затем установите значения метаданных с помощью свойства Metadata.
  3. Наконец, сохраните файл PDF с помощью метода Document.Save() с путем к выходному файлу в качестве аргумента.

В следующем примере кода показано, как задать метаданные XMP файла PDF с помощью C#.

// В этом примере кода показано, как задать метаданные XMP документа PDF.
// Открыть документ
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");

// Установить свойства
pdfDocument.Metadata["xmp:CreateDate"] = DateTime.Now;
pdfDocument.Metadata["xmp:Nickname"] = "Nickname";
pdfDocument.Metadata["xmp:CustomProperty"] = "Custom Value";

// Сохранить документ
pdfDocument.Save("C:\\Files\\PDF\\sample_xmp.pdf");

Настройка пространства имен метаданных XMP в файле PDF

Мы также можем установить пользовательский URI пространства имен вместо определенных спецификаций XMP в файле PDF. Для этой цели API предоставляет метод RegisterNamespaceUri в классе Metadata. Мы можем создать новое пространство имен метаданных с префиксом, выполнив следующие шаги:

  1. Во-первых, загрузите документ PDF с помощью класса Document.
  2. Затем вызовите метод RegisterNamespaceUri с префиксом и URI пространства имен в качестве аргументов.
  3. Затем установите значения метаданных с помощью свойства Metadata.
  4. Наконец, сохраните файл PDF с помощью метода Document.Save() с путем к выходному файлу в качестве аргумента.

В следующем примере кода показано, как задать пользовательское пространство имен метаданных в файле PDF с помощью C#.

// В этом примере кода показано, как задать настраиваемый URI-адрес имени в документе PDF.
// Открыть документ
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");

// Установить свойства
pdfDocument.Metadata.RegisterNamespaceUri("myown", "http:// myown.xyz.com/xap/1.0/");
pdfDocument.Metadata["myown:ModifyDate"] = DateTime.Now;
pdfDocument.Metadata["myown:CreateDate"] = DateTime.Now;
pdfDocument.Metadata["myown:DeveloperName"] = "Developer Name";
pdfDocument.Metadata["myown:MyProperty"] = "My Custom Value";


// Сохранить документ
pdfDocument.Save("C:\\Files\\PDF\\sample_myown.pdf");

Мы можем прочитать настроенные свойства метаданных XMP, выполнив шаги, упомянутые ранее.

myown:ModifyDate: 2022-02-09T10:38:26.8+05:00
myown:CreateDate: 2022-02-09T10:38:26.8+05:00
myown:DeveloperName: Developer Name
myown:MyProperty: My Custom Value

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

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

Вывод

В этой статье мы узнали, как:

  • добавлять/редактировать основную информацию PDF-документов с помощью C#;
  • установить/получить метаданные XMP в файле PDF с помощью C#;
  • установить URI пользовательского пространства имен метаданных с префиксом.

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

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