Вопрос по perl, ms-word – Как я могу извлечь данные в документе Word, используя Perl?

2

Как извлечь данные из слова документа с помощью Perl?

Также смstackoverflow.com/questions/1110409/… если вы используете Windows и можете использоватьWin32::OLE и все, что вы хотите, это текст в документе. Sinan Ünür
Я использую Windows, и я хочу извлечь сокращения, найденные в этом документе слова .... это то, что моя задача ... User1611
What конкретные данные вы хотите извлечь? На какой платформе? У вас установлена копия Word? Это пакетное задание или скрипт будет вызываться веб-сервером? Название и содержание вашего вопроса идентичны, что указывает на то, что вы не слишком задумывались над формулировкой своего вопроса. Sinan Ünür
Можете ли вы дать мне простой пример чтения документа Word и печати данных в командной строке ... User1611

Ваш Ответ

5   ответов
0

В Windows вам лучше использовать COM-интерфейсы для доступа к функциям Word.

Если вы хотите сделать это кроссплатформенным, подумайте о выполнении & quot; catdoc & quot; или libwv.

1

Вы можете использовать Win32 :: OLE, если скрипт должен работать на Windows с установленным Word.

Какую платформу вы используете? возможноAntiword может быть вызван?

Я использую Windows ... User1611
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";
}

украден изВот

0

Документы Word больше не являются плоскими файлами. Найдите .docx, переименуйте его с расширением .zip, и вы можете открыть его и покопаться в нем, чтобы почувствовать, как все устроено. Я бы в целом согласился, хотя Microsoft предоставила способы сделать это уже.

2

Если вы не работаете в Windows, я думаю, что лучшим способом будет сначала преобразовать его.

Если вы не используете Windows и не имеете доступа кWin32 :: OLE, ты можешь использоватьOpenOffice для конвертации документов.

Вы можете заключить скрипт по ссылке в вашу Perl-программу. Хотя ссылка начинается с PDF, если вы читаете на нем, можно преобразовать его в текст. Также смэтот стековый пост о преобразовании файлов doc и docx.

Можете ли вы дать мне простой пример чтения документа Word и печати его данных в командной строке ... User1611

Похожие вопросы