aalib (последний выпуск в 2001) является библиотекой ASCII-творчества с открытым исходным кодом, это используется в приложениях как mplayer. Можно хотеть проверить его исходный код, чтобы видеть, как это делает это. Кроме этого, эта страница описывает более подробно о том, как работают такие алгоритмы.
Использование 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");
}
}
}
Соответствует ли класс PdfDocumentInformation из PDF Sharp вашим требованиям.
Я полагаю, вы можете сделать это с помощью iTextSharp .
Сутенерство здесь - моя компания, 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
Пользовательские поля поддерживаются через хеш-таблица.
Aspose.PDF или Aspose.PDF.Kit может сделать это за вас.