找不到前几天的stream解压部分代码了

今天用pdfsharp时,搜到某人的文章可以简单萃取文本内容,相对应上次从stream中解压的文本,却找不到了。郁闷。

 

只好重写代码。 却老是遇到“Block length does not match with its complement”的异常;估计上次也没有逃过;现在把这个解决办法在此留个记号,免得再忘。

参见http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=97064

问题是deflateStream的压缩格式还是和pdf stream 略有不同;所以解压是要跳过头2个字节。

 

部分code

 

 

 

 

documentContentStart += (match.Groups[1].Index + 2); //压缩字节起始位置跳过2个字节

strLen = match.Groups[1].Length;

 

 

if (strLen < 2) {

strContent =

"";}

 

 

byte[] bufTemp = new byte[strLen - 2];

 

 

for (int i =0; i < strLen - 2; i++) {

     buftemp[i] = pdfBuf[documentContentStart + i];

}

 

解压出来的文本这个样子的

/GS1 gs
BT
/TT2 1 Tf
12 0 0 12 85.08 745.5601 Tm
0 g
0 Tc
0 Tw
( )Tj
0 -1.15 TD
( )Tj
T*
( )Tj
T*
( )Tj
T*
( )Tj
T*
( )Tj
/TT4 1 Tf
7.98 0 0 7.98 286.56 65.4601 Tm
0.2 g
-0.0015 Tc
0.001 Tw
[(TO)-5.1(TV)-4(S S.)-10.3(A )]TJ
/TT6 1 Tf
-6.0226 -1.1654 TD
0.0009 Tc
-0.0014 Tw
[(A)4.3(v)1.9(. )-7............ 比较复杂

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值