Bonjour,
Je début en perl...
Commente testé une balise autofermante (exemple <w:b/>) avec le module Twig, si je fais bien.
Merci
Bonjour,
Je début en perl...
Commente testé une balise autofermante (exemple <w:b/>) avec le module Twig, si je fais bien.
Merci
Tu as une méthode is_empty dans la documentation du module.
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
Merci.
Je commence dans Perl, je n'ai pas de bon reflex et traduire l'Anglais avec Google pas toujours simple.
je travail sur une conversion.
J'arrive bien atteindre avec la commande "children('w:rPr')" et quand je passe dans un autre fonction, il me fais un erreur sur ma variable $elt. J'ai fais le tour du net mais je ne trouve pas exemple qui me parle.
je vais tenté de mettre le code.
Contenu XML:
Voici mon Code perl :
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 <w:p w:rsidR="003F267B" w:rsidRDefault="009A3DA5"> <w:r> <w:t xml:space="preserve">Philou </w:t> </w:r> <w:proofErr w:type="spellStart"/> <w:r w:rsidRPr="009A3DA5"> <w:rPr> <w:b/> </w:rPr> <w:t>testBold</w:t> </w:r> <w:proofErr w:type="spellEnd"/> <w:r> <w:t xml:space="preserve"> </w:t> </w:r> <w:proofErr w:type="spellStart"/> <w:r> <w:t>philou</w:t> </w:r> <w:proofErr w:type="spellEnd"/> </w:p>
Je croix que j'ai un problème d'objet qui n'est pas crée correctement??
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 #!/usr/bin/perl -w use strict; use warnings; use XML::Twig; my $FichierXML = 'document.xml'; my $twig = new XML::Twig( Twig_handlers => { 'w:p' => \&lesPara, }, ); my $FichierResulat = 'Test01InIndesg.txt'; open( my $FhResultat, '>', $FichierResulat ) # deux >> ecriture à la suite > nouveau or die("Impossible d'ouvrir le fichier $FichierResulat\n$!"); print {$FhResultat} "<ASCII-MAC>\n<Version:7.5><FeatureSet:InDesign-Roman><ColorTable:=<Black:COLOR:CMYK:Process:0,0,0,1>>\n"; # Création d'un objet twig $twig->parsefile($FichierXML); # Fermeture du fichier close($FhResultat); # function para sub lesPara{ my ( $twig, $TwigPara ) = @_; print {$FhResultat} "<ParaStyle:NormalParagraphStyle>"; foreach my $TwigCara ( $TwigPara->children('w:r')) { if (my $monStyleCara = $TwigCara->children('w:rPr')) { $TwigLangage -> setTwigHandlers({'w:rPr/*' => \&wrPrStyleCara}); print {$FhResultat} "", $TwigCara->field('w:t'), "<CharStyle:>"; } else { print {$FhResultat} "", $TwigCara->field('w:t'); } } $twig->purge; return; } # # Function pour le style de caractaire # sub wrPrStyleCara { ### my $p2 = XML::Twig::Elt->parse( '<para id="p2">para2</para>'); my ($t, $elt) = @_; if ($monTest eq 'w:b') { print {$FhResultat} "<CharStyle:gras>"; } elsif ($monTest eq 'w:i') { print {$FhResultat} "<CharStyle:italic>"; } else { print {$FhResultat} "$monTest"; } } # fin funcion style de caractère
un début de solution me suffit pour passé au problème suivant.
Je me replonge dans mes book.
Merci
Quel est concrètement le but de votre programme ?
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
Merci,
Désolé pour le retard... convertir un fichier docx en un fichier texte avec des tag pour Indesign. Un ami ma donner un piste et je creuse ...
Je commence à maitrisé les modules en Perl ...
Et la je passe au module Archive::Zip.
Merci
Partager