2015-03-03 3 views
1

Мне очень нравится pdfclown в C#, но я хотел бы открыть pdf-файл из массива byte [] или filestream. Я не нашел примеров этого для pdfclown. Может ли кто-нибудь помочь?open pdf from stream using pdfclown в C#

Примером может быть что-то вроде:

используя (org.pdfclown.files.File файл = новый org.pdfclown.bytes.IInputStream (байт)) {

... }

Thanks

ответ

2

Это правильный способ открыть файл из массива байтов:

var bytes = . . .; 
using (var file = new org.pdfclown.files.File(new org.pdfclown.bytes.Buffer(bytes))) 
{ 
} 

Если вы check out PDF Clown from its repository (версия 0.1.2.1 или более поздней версии) или загрузить следующую версию, вы можете даже использовать это ультра-простой конструктор:

byte[] bytes = . . .; 
using (var file = new org.pdfclown.files.File(bytes)) 
{ 
} 

или, в случае System.IO.Stream:

System.IO.Stream stream = . . .; 
using (var file = new org.pdfclown.files.File(stream)) 
{ 
} 

Если у вас есть простой путь файловой системы, это ваш конструктор:

string filename = . . .; 
using (var file = new org.pdfclown.files.File(filename)) 
{ 
} 
+0

Стефано, Это работало отлично! Благодаря! – Dave

1

Я нашел ответ на этот вопрос, используя форум pdfclown. Я адаптировал его для своих нужд. enter link description here

byte[] bytes = io.File.ReadAllBytes(@filename); 

using (var ms = new io.MemoryStream(bytes)) 
{ 
    using (org.pdfclown.bytes.IInputStream i = new org.pdfclown.bytes.Stream(ms)) 
    { 
     using (org.pdfclown.files.File file = new org.pdfclown.files.File(i)) 
     { 

     } 
    } 
}