我有一个mht文件,其中包含图像和一些文本。当我用记事本++打开它时,我会看到xml,然后是难以辨认的文本,我认为这些文本是图像。有人能告诉我如何使用java程序从mht文件中提取图像和文本吗?谢谢
它有点旧,但在Internet Explorer中打开它,并保存为HTML也可以完成的工作
更新:
如果在IE中打开.mht文件,然后将其保存,并将"另存为类型"设置为"网页,完成(.htm;.html)",则它将创建"filename.htm"文件以及"filename_files"目录。在该目录中会有很多.tmp文件。对于MS"问题步骤记录器"的输出,其中将包括一组名称中带有"(1)"的文件(如中可能有一个"mhtD3B8.tmp"文件和一个"mhtD3B8(1).tmp"文件)。"(1)"文件是.jpg格式的图像,只是扩展名为.tmp。从该文件夹中搜索名称为"(1)"的所有文件,并将它们复制到其他目录。
进入新目录后,打开指向该目录的cmd窗口。要一次更改所有扩展名,请键入"rename*.tmp*.jpg"(不带引号),然后按Enter键。Voila-所有图像文件都已提取。
至于访问文本,由于该文件现在保存为.htm文件,您应该能够在Notepad++中打开该文件,并在那里正确解析/读取它。
希望这能有所帮助!
有一个名为unmht
的开源perl
工具可以完成这项工作:
档案中的第一个HTML文件被视为主要网站页面,其他包含的"页面必备项"文件,如图像或帧。主网页被写入输出目录(默认为当前目录),子目录的requisites以不带扩展名的主HTML文件名命名附加了"_files"。链接所有HTML文件中引用必需品的URL被重写以指向保存的文件。