6

ho un pezzo di HTML memorizzati in un database come:Rientro in JasperReports PDF utilizzando generati

<ul> 
<li>Pretend you're talking to a busy colleague and have to sum up your entire question in one sentence: what details can you include that will help someone identify and solve your problem?</li> 
<li>Spelling, grammar and punctuation are important! Remember, this is the first part of your question others will see - you want to make a good impression. If you're not comfortable writing in English, ask a friend to proof-read it for you. </li> 
<li>If you're having trouble summarizing the problem, write the title last - sometimes writing the rest of the question first can make it easier to describe the problem.&nbsp;</li> 
</ul> 

Io sono la visualizzazione questo pezzo di codice HTML in un file PDF utilizzando un campo di testo JasperReports, quanto sopra HTML dovrebbe visualizzare come questo nel PDF generato.

  • Fingere che stai parlando con un collega occupato e hanno per riassumere tutta la tua domanda in una sola frase: ciò che i dettagli è possibile includere che aiuterà qualcuno a identificare e risolvere il problema?
  • L'ortografia, la grammatica e la punteggiatura sono importanti! Ricorda, questa è la prima parte della tua domanda che gli altri vedranno - vuoi fare una buona impressione. Se non ti senti a tuo agio a scrivere in inglese, chiedi a un amico di rileggerlo per te.
  • Se si riscontrano problemi nel riepilogo del problema, scrivere il ultimo - a volte, prima di scrivere il resto della domanda, è possibile semplificare la descrizione del problema.  
Ma questo HTML sta mostrando come:

enter image description here

jrxml:

<textField isStretchWithOverflow="true" isBlankWhenNull="true"> 
       <reportElement uuid="9206a8ee-5451-4b88-b1f4-1f3889049e57" positionType="Float" x="7" y="47" width="501" height="15" isRemoveLineWhenBlank="true" forecolor="#283234"/> 
       <textElement markup="html"> 
        <font size="10"/> 
       </textElement> 
       <textFieldExpression><![CDATA[$F{description}]]></textFieldExpression> 
</textField> 

HTML è alimentato in descrizione variabile.

Qualche idea su come allineare il testo?

+0

Correlati [Come aggiungere indentazione all'elenco di elenchi puntati] (https://stackoverflow.com/questions/47225881/how-to-add-indentation-on-bullet-list) –

risposta

8

La mia soluzione mostra il semplice JRXML che è il risultato desiderato indipendente dagli strumenti utilizzati da qualcuno, ad es. iReport GUI, report dinamici o codice java che progetta i report di Jasper.

Prima definire uno stile, che corregge il rientro tirando la prima linea di alcuni pixel a sinistra e spinge l'intera scatola stessa larghezza verso destra:

<style name="hanging-indentation-style"> 
    <box leftPadding="23"/> 
    <paragraph firstLineIndent="-23"/> 
</style> 

secondo luogo, questo stile viene applicato al reportElement del textField:

<textField isStretchWithOverflow="true" isBlankWhenNull="true"> 
    <reportElement style="hanging-indentation-style" positionType="Float" mode="Transparent" x="0" y="0" width="555" height="20" isRemoveLineWhenBlank="true"/> 
    <textElement markup="html"/> 
    <textFieldExpression class="java.lang.String"><![CDATA[$F{description}]]></textFieldExpression> 
</textField> 

a seconda della dimensione dei caratteri è possibile variare i valori di stile per soddisfare le vostre esigenze.

ho adattato input da Aligning Bullets in Jasper Reports, in cui viene utilizzato report dinamici api, e Jasper Report HTML bullet hanging indent, qualora sia dimostrato attraverso l'interfaccia grafica, che non era possibile nel mio caso utilizzando iReport Designer 4.5.1, perché non c'è possibilità di applicare imbottiture direttamente su un textField.

+0

Se facciamo qualcosa a caso come suggerite significa che non vi è alcun significato di ul/li in jasperreports. – Abs

+1

[I rapporti Jasper possono interpretare snippet HTML] (http://jasperreports.sourceforge.net/sample.reference/markup/) insieme ad altri tipi di markup e vengono analizzati in una struttura interna. Il risultato è strutturato con stili predefiniti. Nel tuo caso lo stile elenco predefinito non ha indentazioni pendenti e quindi ha bisogno di stili personalizzati per ottenere il risultato desiderato. –