2011-06-19 62 views
6

我有下面的代碼與標題和圖片創建ODF文檔:如何使用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(); 

我如何添加文本標題的圖片?當我在LibreOffice中創建文本標題時,創建標題的'content.xml'部分看起來像這樣。

<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> 

我認爲它會創建一個框架,然後將圖像和標題文本放在裏面。我迷失在這一點上。我無法找到有關在文檔中爲框架添加元素的內容。

回答

1

看到perl創建的xml會很有趣,但除此之外,在寫出之前可以使用Xpath模塊修改XML。但是,真的,我們需要看到基本的輸出結果,看看出了什麼問題。例如,也許幀嵌套是錯誤的。

相關問題