相关疑难解决方法(0)

是否可以使用.NET DeflateStream进行pdf创建?

我正在玩通过C#代码创建pdf文件的能力.我一直在研究PDF规范,并且能够创建一个可用的PDF文件,通过使用UTF8编码将数据串和编码成字节数组来完成.

我遇到的问题是当我尝试使用DeflateStreampdf流对象时.它似乎不起作用:

这是有问题的pdf对象的文本版本(\ r \n是在每行的末尾,这里不可见):

5 0 obj
<</Length 45>>
stream
BT 70 50 TD /F1 12 Tf (Hello, world!) Tj ET
endstream
endobj
Run Code Online (Sandbox Code Playgroud)

当我尝试使用DeflateStream类来压缩行时BT 70 50 TD /F1 12 Tf (Hello, world!) Tj ET,pdf似乎不起作用.我注意到许多其他库如iTextSharp使用他们自己的Deflate压缩实现.

有没有理由说微软的DeflateStream类的实现不起作用?我是错误地使用它还是实现不正确或者是什么?


我知道PDF文件是二进制文件(不是文本文件),但如果我不加密任何内容,则可以将其全部视为文本.这是整个PDF文件供参考(在纯文本中,\ r \n也在每行的末尾,这里不可见):

%PDF-1.7
1 0 obj
<</Type /Catalog /Pages 2 0 R>>
endobj
2 0 obj
<</Type /Pages /MediaBox [ 0 0 200 200 ] /Count 1 /Kids [ 3 0 R ]>> …
Run Code Online (Sandbox Code Playgroud)

c# pdf deflatestream .net-4.5

5
推荐指数
1
解决办法
2129
查看次数

标签 统计

.net-4.5 ×1

c# ×1

deflatestream ×1

pdf ×1