Quelqu'un pourrait-il me suggérer un moyen de faire des mots longs (comme des numéros de série) pour être enveloppés? J'ai essayé du logiciel commercial et il n'y a pas de tel problème. Est-ce un bug de fop ou probablement une solution disponible? P>
Je ne peux pas insérer l'espace zéro de la longueur après chaque caractère de chaque mot dans le document. Cette solution semble insensée pour moi. P>
6 Réponses :
L'hyphénation résolvait votre problème? Vous devriez être capable d'activer l'hyphenation avec un Voici un lien vers la conformité de l'hyphénation de FOP: Apache FOP Page de conformité a> p>
Voici un lien vers la spécification XSL: spécific xsl #hyphénate p >
Sinon, vous devrez peut-être expérimenter avec certaines propriétés (comme d'un hyphenate = "true" code> attribut. Le placement de cet attribut dépendra de l'endroit où vous souhaitez activer l'hyphénation. P>
restes-ensemble.Within-line code>). P>
Vous pouvez spécifier l'attribut wrap-option dans votre voici la spécification XSL-FO pour cet attribut: P > valeur em>: non-enveloppement | enveloppement | hériter p>
initiale em>: enveloppe p>
s'applique à em>: FO: Block, FO: Inline, FO: Numéro de page,
FO: Page-Number-citation p>
hérité em>: oui p>
pourcentages em>: n / a p>
média em>: visuel p>
no-wrap em> p>
Aucune emballage de ligne ne sera effectuée. P>
Dans le cas où les lignes sont plus longues que
la largeur disponible du
rectangle de contenu, le trop-plein va
être traité conformément à la
Propriété "Overflow" spécifiée sur le
zone de référence. p>
envelopper em> p>
La rupture de ligne se produira si la
La ligne débordne le bloc disponible
largeur. Pas de marqueurs spéciaux ou d'autres
le traitement se produira. P>
Spécifie la manière dont l'emballage de ligne
(rupture de ligne) du contenu de la
L'objet de formatage doit être manipulé. p>
Les implémentations doivent soutenir la
valeur "sans emballage", telle que définie dans cette
Recommandation, quand la valeur de
"Traitement ligneux" est "conserver". P>
blockQuote> Vous pouvez également définir l'attribut code> OPTION CODE> dans un fo: block code> comme:
FO: Cellule de table CODE> P>
<fo:table-cell wrap-option="wrap"> ... </fo:table-cell>
enveloppe-option = "wrap" code> indique au formateur de Effectuer la casseur de ligne b>, mais ce n'est pas une garantie que la rupture de ligne trouve B> A lieu approprié pour une pause de ligne; De plus,
wrap code> est la valeur de la propriété par défaut, il est donc généralement inutile de la définir explicitement.
La réponse de ZKOH (warning) vous aidera uniquement si le texte contient plusieurs mots divisés par des espaces blancs. En cas de mots longs (comme tendus en question), une hyphénation est une voie à suivre (comme le suggérait Daniel). p>
Il peut y avoir assez de problèmes avec une hyphénation dans FOP: P>
Cela devrait être la réponse acceptée. Le site Web officiel spécifié ici est en panne, voici un autre lien vers offo . De plus, comme mentionné, la langue XML: LANG = "EN" doit être ajoutée à la racine de votre fichier (c'était difficile à comprendre ...).
Utilisez restes-ensemble.WithIn-colonne = "toujours" au lieu de rester ensemble = "toujours" de garder de longues lignes avec une cellule de table. P>
La question concerne les numéros de série, pas sur les mots de dictionnaire. Spécification de Vous pouvez, bien sûr, utilisez XSLT pour ajouter des espaces de largeur zéro dans du texte dans les cellules du tableau plutôt que de le faire manuellement. Stackoverflow aime les questions en double (voir https://stackoverflow.blog/2010/11/16/dr-StrangeDupe-or-How--Learned-a-stop-worrying-and-love-duplication/ ), mais tout de même , veuillez consulter les réponses dans XSL-FO: Force Wrap On Table Entrées A >. p> HYPHENATE = "TRUE" CODE> est utile uniquement lorsque le dictionnaire d'hyphenation ou l'algorithme d'hyphenation peut avoir un coup d'œil avec succès les mots dans le texte. Les numéros de série généreraient rarement des séquences pouvant être utilement hyphénates comme si elles sont des mots. P>