perl – 将Word文档或docx文件转换为文本文件?

前端之家收集整理的这篇文章主要介绍了perl – 将Word文档或docx文件转换为文本文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要一种方法来将.doc或.docx扩展名转换为.txt,而无需安装任何内容.我也不想手动打开Word这样做显然.只要它在汽车上运行.

我认为Perl或VBA都可以做到这一点,但是我也找不到任何在线的东西.

有什么建议么?

解决方法

请注意,Microsoft Office应用程序的一个很好的信息来源是对象浏览器.您可以通过工具→宏→Visual Basic编辑器访问它.在编辑器中,点击F2浏览Microsoft Office应用程序提供的接口,方法属性.

以下是使用Win32::OLE的示例:

#!/usr/bin/perl

use strict;
use warnings;

use File::Spec::Functions qw( catfile );

use Win32::OLE;
use Win32::OLE::Const 'Microsoft Word';
$Win32::OLE::Warn = 3;

my $word = get_word();
$word->{Visible} = 0;

my $doc = $word->{Documents}->Open(catfile $ENV{TEMP},'test.docx');

$doc->SaveAs(
    catfile($ENV{TEMP},'test.txt'),wdFormatTextLineBreaks
);

$doc->Close(0);

sub get_word {
    my $word;
    eval {
        $word = Win32::OLE->GetActiveObject('Word.Application');
    };

    die "$@\n" if $@;

    unless(defined $word) {
        $word = Win32::OLE->new('Word.Application',sub { $_[0]->Quit })
            or die "Oops,cannot start Word: ",Win32::OLE->LastError,"\n";
    }
    return $word;
}
__END__
原文链接:/Perl/171655.html

猜你在找的Perl相关文章