pdf - tutorial - Alineación en línea XSL FO
xsl-fo tutorial español (6)
Creo dos bloques y en el segundo bloque establezco este atributo:
margin-top="-4mm"
o cuál es el tamaño de la fuente y el margen inferior (solo para parecer que están en la misma línea)
Necesito alinear el texto a la derecha e izquierda en la misma línea. Esto debería ser posible, pero parece que no puedo encontrar la manera. Estoy usando Apache FOP para convertir xml a pdf.
¿Alguien puede ayudarme a hacer esto bien?
Esto es posible, no estoy seguro de cuál es el resultado exacto pero lo has intentado:
<fo:block-container>
<fo:block text-align="left">text</fo:block>
<fo:block text-align="right">text</fo:block>
</fo:block-container >
No he hecho XSLFO desde hace tiempo, pero ciertamente puedo recomendar Stylus Studio para el desarrollo de XSL-FO (y en general XML). La depuración y la vista previa en la aplicación salvó mi trasero de cumplir los plazos a tiempo. También puede hacer que Stylus funcione con el procesador Apache FOP.
PD: Habría comprobado dos veces si tuviera Apache FOP etcétera configurado correctamente en casa también.
Esto hará el truco:
<fo:table>
<fo:table-column />
<fo:table-column />
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block>LEFT TEXT</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="right">RIGHT TEXT</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
La elegancia no era un requisito establecido, pero esto debería encajar en la factura:
<fo:block text-align-last="justify">
LEFT TEXT
<fo:leader leader-pattern="space" />
RIGHT TEXT
</fo:block>
Esto funciona justificando la última línea de texto en el bloque, de modo que el texto comience a la izquierda de la línea y termine a la derecha. El líder, que generalmente se usa en las páginas de la tabla de contenido, se extiende para llenar el espacio entre el texto de la izquierda y la derecha. Normalmente se usa como <fo:leader leader-pattern="dots" />
, que produce un tramo de puntos, pero en este caso simplemente proporciona una brecha de espacio.
No tengo tiempo ahora mismo para probar esto, pero revisa http://www.w3.org/TR/xsl/#fo_float
flotar una flotación a la derecha la otra a la izquierda - le daría una oportunidad si estuviera buscando hacer lo que está describiendo
también puedes usar una tabla
a menos que por alineados a la derecha Y a la izquierda quieras decir justificado ...
<fo:inline-container vertical-align="top" inline-progression-dimension="49.9%">
<fo:block>left content</fo:block>
</fo:inline-container>
<fo:inline-container vertical-align="top" inline-progression-dimension="49.9%">
<fo:block>right-content</fo:block>
</fo:inline-container>
Verificado trabajando con FOP 2.0