Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用perl将.msg文件转换为PDF_Perl - Fatal编程技术网

如何使用perl将.msg文件转换为PDF

如何使用perl将.msg文件转换为PDF,perl,Perl,如何使用perl将.msg文件转换为PDf(或使用perl将.msg文件转换为html的任何选项)您是否尝试过PDf::Writer。您可能需要使用PDF打印驱动程序打印.msg。转换为PDF是最简单的部分 读取.msg文件将是困难的部分,因为它是一种专有的二进制格式。有一个详细的描述(请参阅:),但所有基于OLE的格式都需要很好的工作来解决数据提取问题 规范不是非常清楚(大多数MS文档需要一些工作才能掌握),但它似乎基于与Office文档相同的复合结构,在这种情况下,OLE::Storage_

如何使用perl将.msg文件转换为PDf(或使用perl将.msg文件转换为html的任何选项)

您是否尝试过PDf::Writer。您可能需要使用PDF打印驱动程序打印.msg。

转换为PDF是最简单的部分

读取.msg文件将是困难的部分,因为它是一种专有的二进制格式。有一个详细的描述(请参阅:),但所有基于OLE的格式都需要很好的工作来解决数据提取问题

规范不是非常清楚(大多数MS文档需要一些工作才能掌握),但它似乎基于与Office文档相同的复合结构,在这种情况下,
OLE::Storage_Lite
将能够管理低级文件管理。基本上,这些格式都允许在一个文件中包含多个数据流,而且.msg文件看起来是相同的


多年前,我不得不从MS Exchange中提取出一些东西,我用的策略是编写一个C++类,使用MIME API,它允许RTF从服务器直接读取消息。您可以使用Win32::OLE执行类似的操作,但根据我的经验,它的错误处理对网络性能问题有些敏感。RTF将很容易呈现为PDF格式,因为至少您有一个可以使用的表示形式

.msg
文件的来源是什么,其内容是什么?.msg文件是outlook文件,您可以从outlook拖动到桌面。您将获得.msg文件,只需双击该文件即可查看消息。我已尝试使用msgconvert.pl转换.mime文件。可以将.mime转换为pdf。如果.msg文件有附件,那么使用PDF::Writer转换就太困难了,这些文件可能适合您。谢谢您的建议,我可以将.msg转换为.mime。任何人都知道如何将.mime内容提取到rtf(mime文件包含所有信息)。我过去常常皈依基督教mime@user831025这是向前迈出的一大步。我在这方面使用最多的模块是CPAN上的MIME::tools,它包含一个MIME::解析器。请记住,MIME只是一个内容打包框架,所以您仍然需要从中获取内容。IIRC,很容易获取文本,通常是RTF,有时是HTML,所以您可能需要使用RTF::Parser来获取HTML。如果你想做的话,这可能是生成PDF的最佳起点。