【发布时间】:2021-09-05 19:43:46
【问题描述】:
我设法使用Email::Outlook::Message 从 Outlook .msg 中提取了 RTF 部分。下面是它的外观:
{\*\htmltag84 <b>}\htmlrtf {\b \htmlrtf0
{\*\htmltag148 <span lang="EN-US" style="font-size:12.0pt;color:#002060;mso-fareast-language:EN-IN">}\htmlrtf {\lang1033 \htmlrtf0 FooBar
{\*\htmltag156 </span>}\htmlrtf }\htmlrtf0
{\*\htmltag92 </b>}\htmlrtf }\htmlrtf0
当 Outlooks 发送 Internet 邮件时,它会将 RTF 转换为 text/html:
<b><span style="font-size:12.0pt;color:#002060;mso-fareast-language:EN-IN">FooBar</span></b>
我正在尝试使用RTF::HTML::Converter 做同样的事情,但它会剥离所有样式:
<b>FooBar</b>
这是脚本:
use strict;
use RTF::HTML::Converter;
my $object = RTF::HTML::Converter->new(
output => \*STDOUT
);
local *RTF_FILE;
open RTF_FILE, "$ARGV[0]" or die $!;
$object->parse_stream( \*RTF_FILE );
我还尝试了unrtf 工具。它还剥离了样式:
<font face="Arial"><font size="3"><b>FooBar</b></font></font>
【问题讨论】: