C# (VS 2010) кириллица в свойствах pdf-документа

Здравствуйте!
Пытаюсь изменить метаданные в pdf-документе следующим образом:

using PdfSharp;
using PdfSharp.Drawing;
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;

...

PdfDocument document = PdfReader.Open(selectedFullPathFile);
document.Info.Author = "Суслик";
document.Save(selectedFullPathFile);


Все работает, однако при просмотре метаданных файла в проводнике выводит "!CA;8:"
Понимаю, что проблема в кодировке, но сколько не перепробовал способов, ни один не помог.
Можете направить по нужному руслу?
  • Вопрос задан
  • 3896 просмотров
Решения вопроса 1
@vvhedgehog
Я таки победил эту проблему
Вот мой велосипед:
class Program
    {
        static string unicodePrefix = new string(new char[] { '\xFE', '\xFF' });
        static string EncodePdfInfoString(string s)
        {
            byte[] originalByteString = Encoding.Unicode.GetBytes(s);
            byte b; //swap pairs
            for (var i = 0; i < originalByteString.Length; i += 2)
            {
                b = originalByteString[i];
                originalByteString[i] = originalByteString[i + 1];
                originalByteString[i + 1] = b;
            }
            return unicodePrefix + Encoding.ASCII.GetString(originalByteString);
        }
        void SomeWork()
        {
                ...
                document.Info.Author = EncodePdfInfoString("Суслик");
                document.Save(selectedFullPathFile);
        }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы