C # 4.0: конвертировать pdf в byte [] и наоборот - PullRequest
52 голосов
/ 16 марта 2010

Как мне преобразовать pdf файл в байт [] и наоборот?

Ответы [ 2 ]

119 голосов
/ 16 марта 2010
// loading bytes from a file is very easy in C#. The built in System.IO.File.ReadAll* methods take care of making sure every byte is read properly.
byte[] bytes = System.IO.File.ReadAllBytes("myfile.pdf");

// munge bytes with whatever pdf software you want, i.e. http://sourceforge.net/projects/itextsharp/
// bytes = MungePdfBytes(bytes); // MungePdfBytes is your custom method to change the PDF data
// ...
// make sure to cleanup after yourself

// and save back - System.IO.File.WriteAll* makes sure all bytes are written properly.
System.IO.File.WriteAllBytes("myfile.pdf", bytes);
0 голосов
/ 16 марта 2010

Самый простой способ:

byte[] buffer;
using (Stream stream = new IO.FileStream("file.pdf"))
{
   buffer = new byte[stream.Length - 1];
   stream.Read(buffer, 0, buffer.Length);
}

using (Stream stream = new IO.FileStream("newFile.pdf"))
{
   stream.Write(buffer, 0, buffer.Length);
}

Или что-то в этом роде ...

...