我發現示例代碼here這使我的答案:
#! /usr/local/bin/perl
use OpenOffice::OODoc;
my $file='asdf.odt';
# odfContainer is a representation of the zipped odf file
# and all of its parts.
my $container = odfContainer("$file");
# We're going to look at the 'style' part of the container,
# because that's where the header is located.
my $style = odfDocument
(
container => $container,
part => 'styles'
);
# masterPageHeader takes the style name as its argument.
# This is not at all clear from the documentation.
my $masterPageHeader = $style->masterPageHeader('Standard');
my $headerText = $style->getText($masterPageHeader);
print "$headerText\n"
母版頁樣式定義了文檔的外觀和感覺 - 思考CSS。顯然,'標準'是由OpenOffice創建的文檔的母版頁樣式的默認名稱......這是最難以解決的問題......一旦我找到示例代碼,它便掉到了我的大腿上。
我不知道完整的答案,但我可以告訴你,如果你解壓縮.odt文件,你會得到一個名爲'content.xml'的文件。如果你看看xml(它有助於使用xmltidy)。這將向您顯示odf文檔的結構。 OpenOffice :: OODoc對象中的數據結構反映了xml的xpath結構。找到標題中的文本,閱讀標籤周圍的標籤,並且應該能夠找出在OODoc對象中查找它的位置。 – 2012-04-05 02:57:23
我剛剛查看了OpenOffice :: OODoc :: Text perldoc,它指出可以在「styles.xml」中定義頁眉和頁腳。 – 2012-04-05 03:08:14