PHP中有没有办法访问压缩的RTF并将RTF代码输出到浏览器?
我在SQL中有一个文本列,我想从中提取RTF - 我已设法将数据输出为0x1F8B
我相信这个数据是压缩的RTF - http://www.freeutils.net/source/jtnef/rtfcompressed.jsp
使用[MS-OXRTFCP]:RTF格式(RTF)压缩算法http://msdn.microsoft.com/en-us/library/cc463890%28v=exchg.80%29
样本数据 :
0x1F8B0800000000000000654E316EC3300CEC5CA07FE0D6AD909D1628E0A1C8D01F74E422CB94CD46A11C4A6E5018F97B6967EC72381EC9BB5B516B6CD04BE11DC23C36ED5B8B03C5E8364C5EC6C61D0E2BC62CB5F6C988C358AE5C0AC6592F2DC630792D541D1C957DEA6E76D260144EFF57B7A7C715434E59CD0A3A541A1C8E4A240EFBB490EBEC027F98AE2796E11597D0E0EC75C013D1BC8360F1EF0EC316B115695BF89A08CE390B70816ABC571EA74AA542EEBF295460D975642B069F5EEBF45C6CB27707E5F4FBB14558EC1D83D9EEEC28D9BE142E8B59719697BB6C051FFE00D09796A337010000
Run Code Online (Sandbox Code Playgroud)
这看起来像我想要的,但它在VB中http://www.vbforums.com/attachment.php?attachmentid=87371&d=1326754610
您的数据样本是gzip压缩数据,用于gzdecode解码它.您需要传递二进制字符串而不是提供的十六进制字符串(使用hex2bin或pack转换)
if (!function_exists(hex2bin)){
function hex2bin($hexStr){
return pack('H*', $hexStr);
}
}
$rtf = gzdecode(hex2bin('1F8B0800000000000000654E316EC3300CEC5CA07FE0D6AD909D1628E0A1C8D01F74E422CB94CD46A11C4A6E5018F97B6967EC72381EC9BB5B516B6CD04BE11DC23C36ED5B8B03C5E8364C5EC6C61D0E2BC62CB5F6C988C358AE5C0AC6592F2DC630792D541D1C957DEA6E76D260144EFF57B7A7C715434E59CD0A3A541A1C8E4A240EFBB490EBEC027F98AE2796E11597D0E0EC75C013D1BC8360F1EF0EC316B115695BF89A08CE390B70816ABC571EA74AA542EEBF295460D975642B069F5EEBF45C6CB27707E5F4FBB14558EC1D83D9EEEC28D9BE142E8B59719697BB6C051FFE00D09796A337010000'));
Run Code Online (Sandbox Code Playgroud)
这是原始数据.
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}{\f1\fnil\fcharset0 Arial;}}
{\colortbl ;\red0\green0\blue0;}
\viewkind4\uc1\pard\keep\keepn\sa80\cf1\f0\fs22 The moon is the brightest object in the \i\f1 Earth's \i0\f0 sky?\par
\par
\cf0\par
Another question.\par
}
Run Code Online (Sandbox Code Playgroud)
这是渲染文本.
月亮是地球天空中最明亮的物体?
另一个问题.
我不确定你是否只想要原始rtf或渲染,看看Free(最好)PHP RTF到HTML转换器?如果你想在html中使用rtf.
我不能告诉你
0x1F8B0800000000000000654E316EC3300CEC5CA07FE0D6AD909D1628E0A1C8D01F74E422CB94CD46A11C4A6E5018F97B6967EC72381EC9BB5B516B6CD04BE11DC23C36ED5B8B03C5E8364C5EC6C61D0E2BC62CB5F6C988C358AE5C0AC6592F2DC630792D541D1C957DEA6E76D260144EFF57B7A7C715434E59CD0A3A541A1C8E4A240EFBB490EBEC027F98AE2796E11597D0E0EC75C013D1BC8360F1EF0EC316B115695BF89A08CE390B70816ABC571EA74AA542EEBF295460D975642B069F5EEBF45C6CB27707E5F4FBB14558EC1D83D9EEEC28D9BE142E8B59719697BB6C051FFE00D09796A337010000
Run Code Online (Sandbox Code Playgroud)
实际上是压缩的RTF数据.但如果是这样,Zarafa的PHP MAPI扩展提供了解压缩功能:mapi_decompressrtf().
| 归档时间: |
|
| 查看次数: |
848 次 |
| 最近记录: |