Bonjour,
J'ai deux problématiquesavec la module ODF::lpOD.
1) Je souhaiterais créer un fichier ODT contenant une image avec les informations suivantes :
- titre
- description
- ancrage de type paragraphe et alignement centré
- légende
Voici ce que j'ai écrit :
Le code fonctionne bien, mais il y a un souci que je n'arrive pas à résoudre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 #!/usr/bin/perl use warnings; use strict; use ODF::lpOD; my $odt = 'image_interne.odt'; my $image = 'Nono.png'; my $doc = odf_document->create('text'); my $context = $doc->get_body; # Méthode image interne $doc->insert_style( odf_style->create( 'paragraph', name => 'ImageCenter', align => 'center', ) ); my ( $image_interne, $taille_image ) = $doc->add_image_file( $image ); my $frame = odf_create_image_frame( $image_interne, name => 'id_img1', image => $image_interne, size => $taille_image, title => 'titre', description => 'description alt', ); my $paragraphe_image = odf_create_paragraph( style => 'ImageCenter', text => 'Ma légende'); $paragraphe_image->append_element($frame); $context->append_element($paragraphe_image); print $paragraphe_image->serialize(pretty => TRUE); $doc->save(target => $odt);
La légende est sur la même ligne que l'image et je ne sais pas comment faire pour qu'elle soit sous l'image.
Le code XML de sortie est différent de celui que l'on obtient si l'on passe via Ooo.
2) Je souhaiterais via le module récupérer les informations suivantes d'une image dans le fichier odt joint :
- titre
- description
- Le type d'ancrage : paragraphe ou caractère
- l'alignement de ce dernier (dans le cas de l'exemple, ce serait center)
- et surtout la légende.
Je sèche pour écrire la suite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #!/usr/bin/perl use warnings; use strict; use ODF::lpOD; my $doc = ODF::lpOD::Document->get('image2.odt'); my $contexte = $doc->get_body; # Quel est le code pour récupérer les images ?
Merci
Partager