如何使用Perl从Word文档中提取数据?如何使用Perl在Word文档中提取数据?
3
A
回答
0
在Windows上,您最好使用COM接口来访问Word功能。
如果你想跨平台考虑执行“catdoc”或libwv。
1
如果脚本要在安装了Word的Windows盒子上运行,则可以使用Win32 :: OLE。
您使用的是哪个平台?也许antiword可能被调用?
0
Word文档不再是平面文件。找到一个.docx文件,用.zip扩展名重新命名它,然后你可以打开它并在里面查找,以了解事物的布局。我一般会同意,微软已经提供了这样做的方法。
2
如果你不在Windows上,我认为最好的路线可能是先转换它。
如果您不使用Windows并且无法访问Win32::OLE,则可以使用OpenOffice to convert the documents。
您可以将链接中的脚本包装到您的Perl程序中。虽然链接以PDF开头,但如果您阅读,则可以将其转换为文本。另请参阅this stackoverflow post about converting doc and docx files。
1
use Win32::OLE;
use Win32::OLE::Enum;
$document = Win32::OLE -> GetObject($ARGV[1]);
open (FH,">$ARGV[0]");
print "Extracting Text ...\n";
$paragraphs = $document->Paragraphs();
$enumerate = new Win32::OLE::Enum($paragraphs);
while(defined($paragraph = $enumerate->Next()))
{
$style = $paragraph->{Style}->{NameLocal};
print FH "+$style\n";
$text = $paragraph->{Range}->{Text};
$text =~ s/[\n\r]//g;
$text =~ s/\x0b/\n/g;
print FH "=$text\n";
}
从here
相关问题
- 1. 如何使用VBA从MS-Word文档中提取特定表?
- 2. 如何使用JavaScript从Word文档中提取图像?
- 3. 如何使用Perl提取数据列?
- 4. 如何在C#中使用Word文档#
- 5. 如何在matlab中读取word文档
- 6. 如何在asp.net中读取word文档
- 7. 如何使用Apache POI提取word文档的格式信息?
- 8. 如何使用RegEx提取JSON文档中的数据
- 9. 使用Python从word文档中提取图像和文本
- 10. 如何从Word文档中提取RTF/HTML文本?
- 11. 如何从USB设备恢复的数据中提取Word文档?
- 12. 如何使用Perl编写Microsoft Word/Office Open XML文档?
- 13. 如何从word文档中提取使用特定样式格式的文本?
- 14. 如何在Perl中提取压缩归档文件?
- 15. 使用open xml从word文档中提取Visio图表?
- 16. 将MS Word文档章节提取到SQL数据库记录?
- 17. DOM文档提取数据
- 18. 如何使用C#从word文档中的表中读取值#
- 19. 如何从word文档中提取项目符号信息?
- 20. 如何从大型Word文档中提取特定URL
- 21. 如何使用Novacode.Docx从现有Word文档中获取样式?
- 22. 如何使用C#获取Word文档中的段落编号?
- 23. 如何从使用C#的Word文件中提取文本?
- 24. 如何使用fancybox显示word文档。
- 25. 如何使用Java编辑Word文档
- 26. 使用c读取Word文档#
- 27. iMacros从XML文档中提取数据
- 28. 如何在Microsoft Word Online文档中获取用户选择
- 29. 从R中的word文档中提取原始属性(元数据)
- 30. 如何从Perl中以只读方式打开Word文档?
**你要提取什么**特定数据被盗?在什么平台上?你有没有安装Word的副本?这是一个批处理作业,还是脚本将被Web服务器调用?你的问题的标题和正文是相同的,这表明你没有太多考虑来制定你的问题。 – 2009-07-14 12:12:35
此外,请参阅http://stackoverflow.com/questions/1110409/how-can-i-programmatically-convert-word-doc-or-docx-files-into-text-files/1110626#1110626如果您在Windows并且可以使用`Win32 :: OLE`并且你想要的只是文档中的文本。 – 2009-07-14 14:12:39
正在使用Windows,我想提取在 中找到的缩写,即word文档....这是我的任务... – User1611 2009-07-16 06:21:12