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

i ищет методы или библиотеки для редактирования метаданных файла PDF, например, программы becypdfmetaedit.

Я хочу написать программу, и мне нужна эта опция в этой программе. Возможно, у вас есть образцы для С#.

Спасибо

Ответы

Ответ 1

Использование PDF Sharp работает следующим образом:

using System;
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;

namespace ConsoleApplication1
{
  class Program
  {
    static void Main (string[] args)
    {
      Program p = new Program();
      p.Test();

    }

    public void Test ()
    {
      PdfDocument document = PdfReader.Open ("Test.pdf");

      document.Info.Author = "ME";

      document.Save ("Result");
    }
  }

}

Ответ 2

Для PDFSharp: Если вы хотите изменить/добавить метаданные в Пользовательские свойства PDF, вы можете использовать объект PdfDocument.Info.Elements.

    String filename = @"d:\temp\Hugo-input.pdf";
    String outputfile = @"d:\temp\Hugo-output.pdf";
    PdfDocument document = PdfReader.Open(filename);
    document.Info.Elements.Add(new KeyValuePair<String,PdfItem>("/MyKey",new PdfString("MyValue")));
    document.Save(outputfile);

Всегда запускайте собственный ключ с косой чертой!

Вы можете найти ключ и значение при открытии этого документа в Adobe Acrobat Reader → Файл → Свойства → Пользовательский.

Это работает с PDFSharp 1.32

Ответ 3

Я полагаю, вы можете сделать это с помощью iTextSharp.

Ответ 4

Соответствует ли ваш класс PdfDocumentInformation PDF Sharp.

Ответ 6

Pimping here - моя компания Atalasoft делает компоненты .NET для работы с изображениями. Часть пакета включает возможность чтения/записи метаданных PDF-документа. Это не бесплатно, но для настольных приложений это бесплатное исполнение.

Код для чтения прост:

PdfDocumentMetadata metadata = PdfDocumentMetadata.FromStream(sourceStream);

чтобы отредактировать его и записать в тот же поток:

meta.Title = "Knicholas Knickleby";
meta.Author = "Edmund Wells";
sourceStream.Seek(0, SeekOrigin.Begin);
meta.Append(sourceStream, false); // false means don't merge - overwrite

Пользовательские поля поддерживаются хэш-таблицей.

Ответ 7

Библиотека Docotic.Pdf может использоваться для чтения и обновления метаданных в документах PDF.

Существует свойство PdfDocument.Info, которое можно использовать для изменить метаданные PDF-документа (такие свойства, как "Автор", "Название",).

И есть также свойство PdfDocument.Metadata, которое полезно, если вам нужно получить доступ к встроенным XMP-метаданным в PDF-документе. Библиотека поддерживает предопределенные схемы XMP и также может использоваться для установки пользовательских свойств, определенных приложением.

Библиотека бесплатна для некоммерческих приложений. (библиотека больше не бесплатна с 15 февраля 2012 года)

Отказ от ответственности: я работаю в компании.