All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fm_fop.template.macro.doc_element.ftl Maven / Gradle / Ivy

<#global defaultBorderColor='black'>

<#macro handleElementList elements>
	<#list elements as item>
		<@doc_element.handleElement current=item/>			    
		


<#macro handleRole role element><#if role != ''>role="${role}" <#elseif element.headLevel > 0>role="H${element.headLevel}" 

<#macro handleElement current>
	<#assign elementType="${current.class.simpleName}"/>
	<#if elementType = 'DocPhrase'>
		<@handlePhrase current=current/>
	<#elseif elementType = 'DocPara'>
		<@handlePara current=current/>
	<#elseif elementType = 'DocBr'>
		>  
	<#elseif elementType = 'DocTable'>
		<@handleTable docTable=current/>
	<#elseif elementType = 'DocImage'>
		<@handleImage docImage=current/>
	<#elseif elementType = 'DocList'>
		<@handleList docList=current/>																				
	<#else>
		Element type non implemented yet : ${elementType}
	


<#macro handlePhrase current>
	<@handleStyle styleValue=current.style/> <@handleFont element=current/>>${current.text}


<#macro handleParaRole current role>
	<@handleRole role=role element=current/><@handleStyle styleValue=current.style/><@handleAlign alignValue=current.align/><@handleFont element=current/>>${current.text?replace(r"${currentPage}","")}


<#macro handlePara current>
	<@handleParaRole current=current role=''/>


<#macro handleImage docImage>
	<#if (docImage.scaling)??>
		<#assign imageScaling="height='${docImage.scaling}%' content-height='${docImage.scaling}%' content-width='scale-to-fit' scaling='uniform' width='${docImage.scaling}%'"/>
	<#else>
		<#assign imageScaling=""/>
	
	
		
	


<#macro handleList docList>
	
		<#list docList.elementList as li>
			
				
					><#if docList.listType == 'ul'>·<#else>${li?counter}.
				
				
					<@handleElement current=li.content/>
				
						
			
	


<#macro handleTable docTable>
		
			<#list docTable.colWithds as currentColWidth>
				
			
			
				<#list docTable.elementList as row>	
				
					<#list row.elementList as cell>
						 <@handleBorders docBorders=cell.docBorders/> number-columns-spanned="${cell.columnSpan}">
							<#if (cell.elementList?size > 0)>
								<#list cell.elementList as cellElement>
								<@handleElement current=cellElement/>
								
							<#else>
								
							
						
					
								
				
			
		


<#macro handleBorder mode size color><#if size != 0><#if size = -1><#assign calcSize="1"/><#else><#assign calcSize="${size}"/>${mode}='${calcSize}pt solid ${color}' 

<#macro handleBorders docBorders>
	<#if (docBorders.borderColorTop)??><#assign borderColorTop="${docBorders.borderColorTop}"/><#else><#assign borderColorTop="${defaultBorderColor}"/>
	<#if (docBorders.borderColorBottom)??><#assign borderColorBottom="${docBorders.borderColorBottom}"/><#else><#assign borderColorBottom="${defaultBorderColor}"/>
	<#if (docBorders.borderColorLeft)??><#assign borderColorLeft="${docBorders.borderColorLeft}"/><#else><#assign borderColorLeft="${defaultBorderColor}"/>
	<#if (docBorders.borderColorRight)??><#assign borderColorRight="${docBorders.borderColorRight}"/><#else><#assign borderColorRight="${defaultBorderColor}"/>
	<@handleBorder mode='border-top' size=docBorders.borderWidthTop color=borderColorTop/>
	<@handleBorder mode='border-bottom' size=docBorders.borderWidthBottom color=borderColorBottom/>
	<@handleBorder mode='border-left' size=docBorders.borderWidthLeft color=borderColorLeft/>
	<@handleBorder mode='border-right' size=docBorders.borderWidthRight color=borderColorRight/>


white-space-collapse="false"

<#macro handleWhiteSpace element><#if (element.whiteSpaceCollapse??) && (element.whiteSpaceCollapse != 'true')>white-space="pre" 

<#macro handleFont element><#if (element.fontName??)> font-family="${element.fontName}" <#if (element.size)?? && (element.size != -1)> font-size="${element.size}pt" 

<#macro handleAlign alignValue><#if alignValue = 1>text-align="left"<#elseif alignValue = 2>text-align="center"<#elseif alignValue = 3>text-align="right" 

<#macro handleStyle styleValue><#if styleValue = 2>font-weight="bold"<#elseif styleValue = 3>font-weight="underline"<#elseif styleValue = 4>font-style="italic"<#elseif styleValue = 5>font-style="italic" font-weight="bold"<#else>font-style="normal" font-weight="normal" 




© 2015 - 2025 Weber Informatics LLC | Privacy Policy