社区
C#
帖子详情
C#如何使用ZIP解压PDF的Stream
zgke
2009-04-04 05:49:54
测试了下.NET下的GZIPStream好象不行。。。谁能解决送2000分吧:)
...全文
860
39
打赏
收藏
C#如何使用ZIP解压PDF的Stream
测试了下.NET下的GZIPStream好象不行。。。谁能解决送2000分吧:)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
39 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
俊炎
2012-01-07
打赏
举报
回复
我想用c++解压stream ??? endstream endobj中间的东西,有哪位兄弟姐妹做过的加我QQ465461081,万分感谢!!
微wx笑
2010-08-28
打赏
举报
回复
这问题还有人关注吗?
1430 0 obj<</Length 3342/Filter/FlateDecode>>stream ??? endstream endobj
/Filter/FlateDecode 说明是使用FlateDecode
FlateDecode yes (PDF 1.2) Decompresses data encoded using the zlib/deflate compression
method, reproducing the original text or binary data.
如何判断应使用zlib还是deflate来解压缩呢?
aron3zx
2009-06-11
打赏
举报
回复
[Quote=引用 34 楼 bobob 的回复:]
或许是你使用有问题
stream之间的数据是二进制,打开文件读取的时候一定要以二进制方式打开,你看看是不是这个问题
[/Quote]
已经是提取出stream之间的2进制数据的了,放到6楼的几个函数里面用,第3个函数是会报错的,感觉上就是这种解压方式不对..
6楼的几个函数我改了一下才能用..
private byte[] CompressFile(FileStream fs) //加压
{
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, (int)fs.Length);
MemoryStream ms = new MemoryStream();
GZipStream gZipStream = new GZipStream(ms, CompressionMode.Compress);
gZipStream.Write(buffer, 0, buffer.Length);
gZipStream.Close();
ms.Flush();
byte[] data = ms.ToArray();
ms.Close();
return data;
}
private void DecompressFile(byte[] stream, string file) //解压
{
MemoryStream ms = new MemoryStream(stream);
GZipStream gzipStream = new GZipStream(ms, CompressionMode.Decompress);
FileStream fs = null;
try
{
gzipStream = new GZipStream(ms, CompressionMode.Decompress);
fs = new FileStream(file, FileMode.Create, FileAccess.Write, FileShare.Write);
int length = ReadAllBytesFromStream(gzipStream, fs);
fs.Flush();
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
}
finally
{
ms.Close();
fs.Close();
gzipStream.Close();
}
}
private static int ReadAllBytesFromStream(Stream stream, FileStream fs) //流 to 文件
{
int offset = 0;
int totalCount = 0;
int size = 100; //10759
byte[] buffer = new byte[1928 + size];//要解压的流的长度+size //1928
while (true)
{
int bytesRead = stream.Read(buffer, offset, size);
if (bytesRead == 0)
{
break;
}
fs.Write(buffer, offset, bytesRead);
offset += bytesRead;
totalCount += bytesRead;
}
return totalCount;
}
zgke
2009-04-09
打赏
举报
回复
继续顶下...谁有简单的对ZIP操作STREAM 的例子
sxmonsy
2009-04-08
打赏
举报
回复
好多分呀好多分.
bobob
2009-04-08
打赏
举报
回复
或许是你使用有问题
stream之间的数据是二进制,打开文件读取的时候一定要以二进制方式打开,你看看是不是这个问题
悔说话的哑巴
2009-04-08
打赏
举报
回复
这个实在是有难度 帮顶
zgke
2009-04-08
打赏
举报
回复
就是啊 zip .NET用什么解压呢...GZIP是不行了
zgke
2009-04-07
打赏
举报
回复
继续顶...谁能告诉我 PDF 里的 STREAM 到底是怎么压缩的..或则怎么还原的...网络上有人说是LZW ..到底是什么啊
genius_tong
2009-04-07
打赏
举报
回复
强悍~学习
whitechololate
2009-04-07
打赏
举报
回复
学习,强帖留名
jie3614
2009-04-07
打赏
举报
回复
学习一下
zzxap
2009-04-07
打赏
举报
回复
某人也遇到过这种问题,说是数据不正确造成的
冷月孤峰
2009-04-07
打赏
举报
回复
以前用.net生成PDF时是用的iTextSharp来实现的,不晓得是否能用iTextSharp反向来实现楼主的要求,晚上回去试试看。
zgke
2009-04-07
打赏
举报
回复
[Quote=引用 15 楼 wf5360308 的回复:]
引用 10 楼 zgke 的回复:
晕啊...不是 你用文本打开PDF文件 里面的stream开始和endobject结束..我不知道怎么解这个... 想找个方法解开.
这个要求没做过,楼主是不是想将PDF内的内容给截取出来啊?
这个不晓得是否有用:
http://zlping.javaeye.com/blog/308461
[/Quote]
非常感谢...内说里面的stream是什么压缩的:(
js1722
2009-04-07
打赏
举报
回复
mark..
冷月孤峰
2009-04-07
打赏
举报
回复
[Quote=引用 10 楼 zgke 的回复:]
晕啊...不是 你用文本打开PDF文件 里面的stream开始和endobject结束..我不知道怎么解这个... 想找个方法解开.
[/Quote]
这个要求没做过,楼主是不是想将PDF内的内容给截取出来啊?
这个不晓得是否有用:
http://zlping.javaeye.com/blog/308461
深海之蓝
2009-04-07
打赏
举报
回复
2000分啊。。。
pennymay
2009-04-07
打赏
举报
回复
不懂只能帮顶, 顺便学习~!~
mykelly6
2009-04-07
打赏
举报
回复
瞻仰下,呵呵
加载更多回复(19)
【已弃用】
C#
高级网络编程(TouchSocket)
该课程总共分为两个大类。一个是从入门到精通的网络精讲篇,另一个是成熟网络通信框架TouchSocket的
使用
教学篇。对于第一大类,预计总共有6大章节内容。分别为
C#
语言入门基础(已完结)
C#
高级语言基础(持续更新)
C#
入门级网络编程(已完结)
C#
高级网络编程(持续更新)TouchSocket网络通信框架详解(未开始)项目实战(未开始) 对于第二大类,会教学目前TouchSocket的所有组件,包括以下内容。该部分内容是完全免费观看的。Tcp组件Udp组件Http组件Websocket组件Rpc组件WebApi组件XmlRpc组件JsonRpc组件等等。
.NET中
zip
的压缩和
解压
来源于:... 在.NET可以通过多种方式实现
zip
的压缩和
解压
:1、
使用
System.IO.Packaging;2、
使用
第三方类库;3、通过 System.IO.Compression 命名空间中新增的
Zip
Archive、
Zip
File等类实现。 一...
.Net 中
使用
iTextSharp 组件生成
PDF
因为工作内容 ASP.NET 中需要生成
PDF
文件,但是 .Net framework 并没有内嵌生成
PDF
的功能,所以只能是在网上找找,经多番查找验证,最后找到很容易上手且很实用的 library - iTextSharp ; 该函数库原名是 iText...
.net文件压缩和
解压
及中文文件夹名称乱码问题
/**************************注释区域内为引用...在.NET可以通过多种方式实现
zip
的压缩和
解压
:1、
使用
System.IO.Packaging;2、
使用
第三方类库;3、通过 System.IO.Compression 命名空间中新增的Z...
C#
Parsing 类实现的
PDF
文件分析器
这个项目让你可以去读取并解析一个
PDF
文件,并将其内部结构展示出来.
PDF
文件的格式标准文档可以从Adobe那儿获取到. 这个项目基于“
PDF
指南,第六版,Adobe便携文档格式1.7 2006年11月”. 它是一个恐怕有1310页的...
C#
110,535
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章