在c#中使用pdfclown从流中打开pdf

时间:2015-03-03 01:11:01

标签: byte filestream pdfclown

我真的很喜欢c#中的pdfclown,但是我想从byte []数组或文件流中打开pdf。我还没有找到任何关于pdfclown的例子。有人可以帮忙吗?

一个例子是:

使用(org.pdfclown.files.File file = new org.pdfclown.bytes.IInputStream(bytes)) {

... }

由于

2 个答案:

答案 0 :(得分:3)

这是从字节数组中打开文件的正确方法:

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))
{
}

答案 1 :(得分: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))
        {

        }
    }
}