in reply to How to get MS-Word Page count and line count?
A Word document can compute its own page and line count as can be seen on the File->Properties->Statistics page. These values can also be calculated via the Word object model as follows:
I couldn't get the Word Const to work under -w without generating warnings (although it works fine under warnings). So here are the required constants just in case:#!/usr/bin/perl -l use strict; use Win32::OLE; use Win32::OLE::Const 'Microsoft Word'; my $word = Win32::OLE->new('Word.Application'); my $doc = $word->Documents->Open('c:\temp\test2.doc'); die "Unable to open document ", Win32::OLE->LastError() unless $do +c; my $pages = $doc->ComputeStatistics(wdStatisticPages); my $lines = $doc->ComputeStatistics(wdStatisticLines); my $words = $doc->ComputeStatistics(wdStatisticWords); print "Pages:\t", $pages; print "Lines:\t", $lines; print "Words:\t", $words; $doc->Close; __END__
wdStatisticWords = 0 wdStatisticLines = 1 wdStatisticPages = 2 wdStatisticCharacters = 3 wdStatisticParagraphs = 4 wdStatisticCharactersWithSpaces = 5 wdStatisticFarEastCharacters = 6
In Section Seekers of Perl Wisdom