OVH Cloud OVH Cloud

[FOP] petite question

4 réponses
Avatar
crtx
Voilà, mon problème est le suivant, j'utilise actuellement le projet FOP
d'Apache (version 0.20.5) et je suis confronté à un problème qui me
semble pour l'instant insoluble.
A partir d'un fichier XMl, j'applique une transformation XSLT afin
d'obtenir un fichier XSL-FO liant mes données à leur future
représentation. Jusqu'ici aucun problème. Je souhaite ainsi créer un
fichier PDF d'une certaine largeur (page-width="5cm") mais d'une
longueur qui s'adaptera au contenu passé dans ce XML. J'ai bien trouvé
dans la literrature des choses de ce gout : page-height="auto" mais sans
succès.
Donc si dans l'assemblée, il y a des gens qui ont eu déjà eu ce genre de
soucis ou qui connaissent des endroits plus spécialisés n'hésitez pas
à me le faire savoir (pour info j'ai déjà épuré toutes les mailing lists
et archives de ces dernières qui sont cités sur le site officiel de FOP).

Merci d'avance.

4 réponses

Avatar
TinyRaccoon
crtx wrote:
Je souhaite ainsi créer un
fichier PDF d'une certaine largeur (page-width="5cm") mais d'une
longueur qui s'adaptera au contenu passé dans ce XML. J'ai bien trouvé
dans la literrature des choses de ce gout : page-height="auto" mais sans
succès.


va voir là :

http://www.w3.org/TR/xsl/slice7.html#page-height

on y parle de l'attribut page-height et de ses valeurs possibles qui
sont les suivante : auto, indefinite ou une longueur explicite.

d'après ce que je comprends, auto va déterminer la taille de la page en
fonction de la taille du média qui présente la page. Je n'ai pas
l'impression que c'est ce que tu cherches.

par contre indefinite semble plus adapté : il adapte la taille en
fonction du contenu de la page.

d'après ce qu'on peut lire sur le site de fop, page-height est
complètement supporté, donc ça devrait fonctionner. Dit moi si ça marche.

Avatar
crtx
TinyRaccoon wrote:

crtx wrote:

Je souhaite ainsi créer un
fichier PDF d'une certaine largeur (page-width="5cm") mais d'une
longueur qui s'adaptera au contenu passé dans ce XML. J'ai bien trouvé
dans la literrature des choses de ce gout : page-height="auto" mais
sans succès.



va voir là :

http://www.w3.org/TR/xsl/slice7.html#page-height

on y parle de l'attribut page-height et de ses valeurs possibles qui
sont les suivante : auto, indefinite ou une longueur explicite.

d'après ce que je comprends, auto va déterminer la taille de la page en
fonction de la taille du média qui présente la page. Je n'ai pas
l'impression que c'est ce que tu cherches.

par contre indefinite semble plus adapté : il adapte la taille en
fonction du contenu de la page.

d'après ce qu'on peut lire sur le site de fop, page-height est
complètement supporté, donc ça devrait fonctionner. Dit moi si ça marche.



Tout d'abord merci pour ta réponse, en effet d'après la doc le paramètre
le plus adapté est bien indefinite toutefois il ne parraît pas encore
implémenté sur FOP du moins pour des média de type PS ou PDF.
Du coup j'ai fait des tests avec un autre moteur XEP de renderX et là
encore une fois l'implémentation de ce paramètre est loin d'être claire
avec un message d'avertissement à l'exécution :
{?page-height=indefinite must be converted to length in the parser}
Bref, j'avoue être un peu dérouté par tout cela, je trouve vraiment
dommage que cette fonctionnalité ne soit pas encore active car c'est
assez préjudiciable pour moi dans le cadre du projet sur lequel je
travaille.
J'aurais bien voulu savoir où est-ce que tu as vu dans la documentation
de fop que ce paramètre était complètement supporté.

Merci d'avance.


Avatar
TinyRaccoon
crtx wrote:
J'aurais bien voulu savoir où est-ce que tu as vu dans la documentation
de fop que ce paramètre était complètement supporté.


là :
http://xml.apache.org/fop/compliance.html#fo-property-page-height

ce n'est pas explicitement écrit, mais j'ai extrapolé en observant
d'autres attributs tels que page-position où il est spécifié que la
valeur d'attribut "last" n'est pas supportée.

Avatar
Vincent Brabant
TinyRaccoon wrote:

crtx wrote:

Je souhaite ainsi créer un
fichier PDF d'une certaine largeur (page-width="5cm") mais d'une
longueur qui s'adaptera au contenu passé dans ce XML. J'ai bien
trouvé dans la literrature des choses de ce gout : page-height="auto"
mais sans succès.




va voir là :

http://www.w3.org/TR/xsl/slice7.html#page-height

on y parle de l'attribut page-height et de ses valeurs possibles qui
sont les suivante : auto, indefinite ou une longueur explicite.

d'après ce que je comprends, auto va déterminer la taille de la page
en fonction de la taille du média qui présente la page. Je n'ai pas
l'impression que c'est ce que tu cherches.

par contre indefinite semble plus adapté : il adapte la taille en
fonction du contenu de la page.

d'après ce qu'on peut lire sur le site de fop, page-height est
complètement supporté, donc ça devrait fonctionner. Dit moi si ça marche.



Tout d'abord merci pour ta réponse, en effet d'après la doc le paramètre
le plus adapté est bien indefinite toutefois il ne parraît pas encore
implémenté sur FOP du moins pour des média de type PS ou PDF.
Du coup j'ai fait des tests avec un autre moteur XEP de renderX et là
encore une fois l'implémentation de ce paramètre est loin d'être claire
avec un message d'avertissement à l'exécution :
{?page-height=indefinite must be converted to length in the parser}
Bref, j'avoue être un peu dérouté par tout cela, je trouve vraiment
dommage que cette fonctionnalité ne soit pas encore active car c'est
assez préjudiciable pour moi dans le cadre du projet sur lequel je
travaille.
J'aurais bien voulu savoir où est-ce que tu as vu dans la documentation
de fop que ce paramètre était complètement supporté.

Merci d'avance.


N'oublie pas de lire ceci:

http://www.w3.org/TR/xsl/slice7.html#page-height
Cela veut dire que le résultat s'adapte au type de media en sortie.
Et je ne pense pas que le type PDF permet le mode continu, mais uniquement le mode page. Désolé.

--
Vincent Brabant
----------------
http://www.netbeans.org/index_fr.html
http://vbrabant-fr.skynetblogs.be