fand ich Beispielcode here, die mich auf die Antwort führte:
#! /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"
Die Masterseite Stil definiert das Look and Feel des Dokuments - denken CSS. Anscheinend ist "Standard" der Standardname für den Masterseitenstil eines Dokuments, das von OpenOffice erstellt wurde ... das war die härteste Nuss, die es zu knacken gab ... als ich den Beispielcode fand, fiel mir das in den Schoß.
Ich weiß nicht die vollständige Antwort, aber ich kann Ihnen sagen, dass wenn Sie eine .odt-Datei entpacken, Sie eine Datei namens "content.xml" erhalten. Wenn du dir die XML anschaust (es hilft, xmltidy zu benutzen). Dies zeigt Ihnen die Struktur des Dokuments. Die Datenstrukturen in einem OpenOffice :: OODoc-Objekt spiegeln die Xpath-Struktur der XML-Datei wider. Suchen Sie den Text in Ihrer Kopfzeile, lesen Sie die darin enthaltenen Tags und Sie können herausfinden, wo Sie im OODoc-Objekt danach suchen. –
Ich habe gerade im OpenOffice :: OODoc :: Text perldoc nachgesehen, dass Header und Fußzeilen in "styles.xml" definiert werden können. –