Overview
This version is for Appian 23.2 and above. Cloud customers on a lower version of Appian that want to install this plugin should open a support case. Self-managed customers can find the latest jar for Appian 23.1 and lower version in the folder pre-23.2
Convert, merge and generate DOCX, PDF and XML files automatically in an Appian process
Key Features & Functionality
Function: xsltransform - Transform source XML using XSL Transform
Hello,
I am looking for a recommendation with a solution we are bulding using the smart service PDF from XSL FO Transformation With Fonts, to get text justified when there is no space on it, but keeping words together correctly when text has proper spaces.
We have found two different solutions that help us with part of the incident, but we are looking for another one to join both of them:
<fo:block margin-left="0mm" margin-top="3mm" margin-bottom="0mm" linefeed-treatment='preserve' ><xsl:value-of select="descripcion_txt" /></fo:block>
Result:
2nd Solution: correct text (spaces or urls) are being cut when "x" number of characters are reaching the border, but texts without spaces are shown correct.
For this solution we are using 2 templates:
<xsl:template name="zero_width_space_1"><xsl:param name="data"/><xsl:param name="counter" select="0"/><xsl:choose><xsl:when test="$counter < string-length($data)"><xsl:value-of select='concat(substring($data,$counter,1),"​")'/><xsl:call-template name="zero_width_space_2"><xsl:with-param name="data" select="$data"/><xsl:with-param name="counter" select="$counter+1"/></xsl:call-template></xsl:when><xsl:otherwise></xsl:otherwise></xsl:choose></xsl:template><xsl:template name="zero_width_space_2"><xsl:param name="data"/><xsl:param name="counter"/><xsl:value-of select='concat(substring($data,$counter,1),"​")'/><xsl:call-template name="zero_width_space_1"><xsl:with-param name="data" select="$data"/><xsl:with-param name="counter" select="$counter+1"/></xsl:call-template></xsl:template>
Block:
<fo:block margin-left="0mm" margin-top="3mm" margin-bottom="0mm" linefeed-treatment='preserve' > <xsl:call-template name="zero_width_space_1"> <xsl:with-param name="data" select="descripcion_txt"/> </xsl:call-template> </fo:block>
Here is an example of the xml and xsl we are using:
XML
<doc> <prefijo> <nombre>Example</nombre> <fecha>2023-03-16z</fecha> </prefijo> <seccion_campos> <titulo_txt>DESCRIPCIÓN DEL ACTO O MOTIVO:</titulo_txt> <descripcion_txt>Peropueden surgir empresas tecnológicas en países con legislaciones que hacen difícil cualquier emprendimiento? No hay duda de que un mal clima de negocios, burocracias infernales y la corrupción son grandes trabas. Es difícil crear una empresa innovadora en Venezuela, donde según los estudios del Banco Mundial de los que hablábamos en el prólogo hacen falta 17 trámites legales para registrar una nueva empresa, o en Argentina, donde se requieren 14, o en Brasil y Colombia, donde hacen falta 13, y que por lo general tardan varios meses en completarse. I cannot find that it is an error from an XSLFO standpoint this surprises me, so maybe I just missed it, but from an implementation standpoint in other words, from within FOP, there really is no way to process hyphenation without knowing which language (and therefore which hyphenation dictionary to use. Probably what is happening is that FOP jumps to a default dictionary no doubt English or U.S. English. If you are using that default language your result is ok, but it is only by accident the FOP developers could just as easily have chosen Turkish as the default. LOS INNOVADORES QUIEREN VIVIR EN LUGARES VIBRANTES </descripcion_txt> </seccion_campos> <seccion_campos> <titulo_txt>EFECTO SOBRE LOS TENEDORES:</titulo_txt> <descripcion_txt>efaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaecto</descripcion_txt> </seccion_campos> <seccion_campos> <titulo_txt>NOTA COMPARATIVA RESPECTO A LAS DIFERENCIAS MÁS RELEVANTES:</titulo_txt> <descripcion_txt>find that it is an error from an XSLFO standpoint this surprises me, so maybe I just missed it, but from an implementation standpoint in other words, from within FOP, there really is no way to process hyphenation without knowing which language (and therefore which hyphenation dictionary to use. Probably what is happening is that FOP jumps to a default dictionary no doubt English or U.S. English. If you are using that default language your result is ok, but it is https://bmv-test.appiancloud.com/suite/design/lMBfe49_FfR7AnMpoon-ShAtibjpv4wDQFXudCPCREuKKkRzDRcUEpwDURnyVjx6t5Id2ExlrieqaqxXUWH2p-p8UnK2B1i6V-dwFn5rL-hfDlzgQ https://bmv-dev.appiancloud.com/suite/design/ksBCPzGojqGmiD_JHPtxO7RCAQ-3vL2745szbJZQQ8SUhuzlQk7uOeJCGKZaLcUdUNjeq78ZzD3wC_HeaHmkRH4V2TqtAoPkovRsTk </descripcion_txt> </seccion_campos> <seccion_campos> <titulo_txt>URL:</titulo_txt> <descripcion_txt>find that it is an error from an XSLFO standpoint this surprises me, so maybe I just missed it, but from an implementation standpoint in other words, from within FOP, there really is no way to process hyphenation without knowing which language (and therefore which hyphenation dictionary to use. Probably what is happening is that FOP jumps to a default dictionary no doubt English or U.S. English. If you are using that default language your result is ok, but it is https://grupovass.sharepoint.com/:x:/r/teams/BMV-Emisnet/_layouts/15/Doc.aspx?sourcedoc=%7B491E1B70-8EE3-4C32-B1B2-8EFAAC1E1713%7D&file=Incidentes%20reportados%20por%20BMV.xlsx&action=default&mobileredirect=true&clickparams=eyJBcHBOYW1lIjoiVGVhbXMtRGVza3RvcCIsIkFwcFZlcnNpb24iOiIyNy8yMzAyMDUwMTQyMSIsIkhhc0ZlZGVyYXRlZFVzZXIiOmZhbHNlfQ%3D%3D&cid=b21dabe8-a8cf-432e-a4bd-844b12946b5e</descripcion_txt> </seccion_campos> </doc>
XSL
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" > <xsl:template name="zero_width_space_1"> <xsl:param name="data"/> <xsl:param name="counter" select="0"/> <xsl:choose> <xsl:when test="$counter < string-length($data)"> <xsl:value-of select='concat(substring($data,$counter,1),"")'/> <xsl:call-template name="zero_width_space_2"> <xsl:with-param name="data" select="$data"/> <xsl:with-param name="counter" select="$counter+1"/> </xsl:call-template> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="zero_width_space_2"> <xsl:param name="data"/> <xsl:param name="counter"/> <xsl:value-of select='concat(substring($data,$counter,1),"")'/> <xsl:call-template name="zero_width_space_1"> <xsl:with-param name="data" select="$data"/> <xsl:with-param name="counter" select="$counter+1"/> </xsl:call-template> </xsl:template> <xsl:template name="getDateBy"> <xsl:param name="date_dt"/> <xsl:value-of select="concat('',substring($date_dt,9,2),'/',substring($date_dt,6,2),'/',substring($date_dt,1,4))" /> </xsl:template> <xsl:template match="doc"> <fo:root xml:lang="es" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <fo:layout-master-set> <fo:simple-page-master master-name="A4" page-width="220mm" page-height="280mm" margin-top="1cm" margin-bottom="1cm" margin-left="1cm" margin-right="1cm"> <fo:region-body margin-top="6cm" margin-bottom="1cm" margin-left="0mm" margin-right="5mm" /> <fo:region-before margin-top="0cm" margin-bottom="20cm" margin-left="0cm" margin-right="0cm" /> <fo:region-after margin-top="0cm" margin-bottom="1cm" margin-left="0cm" margin-right="3cm" /> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference="A4"> <!-- HEADER --> <fo:static-content flow-name="xsl-region-before" > <fo:block-container height="0cm" background-color="white" margin-top="-20mm" margin-left="-10mm" margin-right="43mm" > <!-- NOMBRE DEL PREFIJO --> <fo:block text-align="left" font-size="13pt" margin-top="25mm" margin-left="20mm" color="black" font-weight="bold" > <xsl:value-of select="prefijo/nombre" /> </fo:block> <!-- TERMINA EL NOMBRE DEL PREFIJO --> <!-- LOGO --> <fo:block margin-left="135mm" margin-top="-15mm"> <fo:external-graphic src = "url('data:image/png;base64,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')" height="10.5cm" content-width="8.5cm" /> </fo:block> <!-- TERMINA EL LOGO --> <!-- FECHA --> <fo:block margin-left="15mm" margin-bottom="-30mm" margin-top="-63mm" > <fo:table table-layout="fixed" width="100%" > <fo:table-column column-width="249mm" /> <fo:table-body> <fo:table-row> <fo:table-cell> <fo:block-container font-size="11pt" border-bottom-style="solid" border-color="black" > <fo:block margin-left="-5mm" color="black" >Fecha: <xsl:call-template name="getDateBy"> <xsl:with-param name="date_dt" select="prefijo/fecha"/> </xsl:call-template> </fo:block> </fo:block-container> </fo:table-cell> </fo:table-row> </fo:table-body> </fo:table> </fo:block> <!-- TERMINA LA FECHA --> </fo:block-container> </fo:static-content> <!-- TERMINA EL HEADER --> <!-- FOOTER --> <fo:static-content flow-name="xsl-region-after" height="10cm"> <fo:block text-align="left" font-size="9pt" border-bottom-style="solid" border-top-style="solid" border-color="black" > <fo:table table-layout="fixed" width="100%" > <fo:table-column column-width="198mm" /> <fo:table-column column-width="2mm" /> <fo:table-body> <fo:table-row> <fo:table-cell> <fo:block-container > <fo:block margin-left="0mm" margin-top="1mm" margin-bottom="0.5mm" > Customer </fo:block> </fo:block-container> </fo:table-cell> <fo:table-cell> <fo:block-container > <fo:block margin-left="0mm" margin-top="1mm" margin-bottom="0.5mm" > <fo:page-number/> </fo:block> </fo:block-container> </fo:table-cell> </fo:table-row> </fo:table-body> </fo:table> </fo:block> </fo:static-content> <!-- TERMINA EL FOOTER --> <!-- BODY --> <fo:flow flow-name="xsl-region-body" > <fo:block text-align="justify" font-size="9pt" > <fo:table table-layout="fixed" width="100%" > <fo:table-column column-width="200mm" /> <fo:table-body> <!-- SECCION DE CAMPOS DINAMICOS --> <fo:table-row> <fo:table-cell> <fo:block font-size="11pt" > <fo:table table-layout="fixed" width="100%" > <fo:table-column column-width="200mm" /> <fo:table-column column-width="200mm" /> <fo:table-body> <xsl:for-each select="seccion_campos"> <fo:table-row> <fo:table-cell> <fo:block-container > <fo:block margin-left="0mm" margin-top="6mm" margin-bottom="0mm" font-weight="bold" > <xsl:value-of select="titulo_txt" /> </fo:block> </fo:block-container> </fo:table-cell> </fo:table-row> <fo:table-row> <fo:table-cell> <fo:block-container > <fo:block margin-left="0mm" margin-top="3mm" margin-bottom="0mm" linefeed-treatment='preserve' > <!-- <xsl:value-of select="descripcion_txt" /> --> <xsl:call-template name="zero_width_space_1"> <xsl:with-param name="data" select="descripcion_txt"/> </xsl:call-template> </fo:block> </fo:block-container> </fo:table-cell> </fo:table-row> </xsl:for-each> </fo:table-body> </fo:table> </fo:block> </fo:table-cell> </fo:table-row> <!-- TERMINA SECCION DE CAMPOS DINAMICOS --> </fo:table-body> </fo:table> </fo:block> <fo:block id="TheVeryLastPage"> </fo:block> </fo:flow> <!-- TERMINA EL BODY --> </fo:page-sequence> </fo:root> </xsl:template> </xsl:stylesheet>