Mam następujący kod, który tworzy ODF-dokument z nagłówkiem i obrazem:Jak dodać podpis tekstowy do obrazu za pomocą OpenOffice :: OODoc?
#!/usr/bin/perl
use strict;
use warnings;
use OpenOffice::OODoc;
my $doc = odfDocument(
file => 'test.odt',
create => 'text'
);
my $head = $doc->appendHeading(
text => "This is a Test",
style => 'Heading 1'
);
my $style = $doc->createImageStyle("Photo");
my $image = $doc->createImageElement(
'some picture',
style => 'Photo',
attachment => $head,
size => '4cm, 12cm',
link => '/full/path/to/picture.png'
);
$doc->save();
Jak mogę dodać podpis tekstu do obrazka? Kiedy utworzymy podpis tekstowy w LibreOffice, część "content.xml", w której napis jest tworzony, wygląda następująco.
<draw:frame draw:style-name="fr1" draw:name="Frame1" text:anchor-type="as-char" svg:y="0cm" svg:width="4.001cm" draw:z-index="0">
<draw:text-box fo:min-height="12cm">
<text:p text:style-name="Caption">
<draw:frame draw:style-name="fr2" draw:name="Eiffel Tower" text:anchor-type="paragraph" svg:x="0.004cm" svg:y="0.002cm" svg:width="4.001cm" style:rel-width="100%" svg:height="12cm" style:rel-height="scale" draw:z-index="1">
<draw:image xlink:href="full/path/to/picture.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
</draw:frame>
test caption
</text:p>
</draw:text-box>
</draw:frame>
Myślę, że tworzy ramkę, a następnie umieszcza w niej obraz i tekst podpisu. Jestem zagubiony w tym momencie. Nie mogłem też znaleźć czegoś na temat dodawania elementów do ramek w dokumentacji.