读word和pdf文件的方法.

读word和pdf文件的方法.

读word和pdf文件的方法.
我想统计一个word文档和pdf文档的字数.需要正确读取word文档和pdf文档.请问在Perl中如何正确操作? 谢谢
PDF有相关模块。

你读字的时候要考虑到文字编码问题。可能,不知道text里有什么好模块可以选择。
pdf 你可以使用...
pdf 你可以使用 pdftotext 把 pdf 转成 text 再做. http://www.foolabs.com/xpdf/download.html
cpan pdf 模块不少, 但好像没什么可以读 pdf 的.

我个人没有使用过. 但你应该可以使用 Win32::OLE 和 其他 Win32::OLE::* 模块来做 word 处理.
下面是个使用的例子. 虽然不是你要做的.
[quote]
use strict;
use Win32::OLE;
use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft Word';
use Constant 'True' => 1;
use Constant 'False' => 0;
$Win32::OLE::Warn = 2; # Throw Errors, I'll catch them

my $word = Win32::OLE->GetActiveObject('Word.Application') ||
Win32::OLE->new('Word.Application', 'Quit');

my $mydoc = $word->activedocument;
my $Selection = $word->{Selection};

$Selection->Find->ClearFormatting();
$Selection->Find->Font->{Bold} = True;
$Selection->Find->Replacement->ClearFormatting();
with ($Selection->Find->Replacement->Font,
Bold => True,
Italic => False );

$Selection->Find->{Text} = "[0-9]{1,}";
$Selection->Find->Replacement->{Text} = "<bold>^&</bold>";
$Selection->Find->{Forward} = True;
$Selection->Find->{Wrap} = wdFindContinue;
$Selection->Find->{Format} = True;
$Selection->Find->{MatchCase} = False;
$Selection->Find->{MatchWholeWord} = False;
$Selection->Find->{MatchWildcards} = True;
$Selection->Find->{MatchSoundsLike} = False;
$Selection->Find->{MatchAllWordForms} = False;

$Selection->Find->Execute( {Replace=>wdReplaceAll} );[/quote]
pdftotext = pstotext
好像这两个软件是一回事,刚刚用过,感觉很不错。
和 screen 以及 w3m 结合以前那些堆积如山等待阅读的 PDF 一下子都有了出路。