Ich habe ein Problem mit meinem Jaspis - Bericht, wo eines meiner Textfelder (das letzte in einem Detailband) in der PDF - und PDF - Vorschau abgeschnitten wird, aber nicht in der Interne Vorschaujasper Textfeld wird abgeschnitten
z.B.
Interne Vorschau:
Here is a fake description. It fits
perfectly, fitting just in the lines.
PDF Vorschau
Here is a fake description. It
fits perfectly, fitting just in the
Jasper ist (scheinbar) einige Algorithmus, um herauszufinden, wie groß das Gebiet sein sollte, ist mein Text kaum passend, dann, wenn die PDF wird generiert, der Text wird umbrochen und verschwindet in der nächsten Zeile.
Ich verwende keine benutzerdefinierten Schriftarten (nur die Standard/implizite "SansSerif"), und keine benutzerdefinierten Stile jenseits Fett/Kursiv. Dieses Verhalten ist sowohl in der PDF-Vorschau von iReport als auch in der von meinem Code generierten PDF unter Windows und MacOS nachweisbar (Linux hat wahrscheinlich immer noch das Problem, aber mein Beispieltext zeigte das Verhalten unter Ubuntu nicht).
Ich habe mit Streckentyp, Positionstyp und Stretch mit Überlauf gespielt, und dieses Textfeld in ein eigenes Band verschoben, aber keine behebt diesen Fehler (und einige von ihnen verursachen andere).
Ich hatte Glück, die Schriftart zu den anderen integrierten Schriftarten zu ändern, aber das sagt mir nur, dass mein Beispiel nicht für diese bestimmte Schriftart funktioniert, nicht, dass ich den Fehler behoben habe.
Alle Tipps würden sehr geschätzt werden.
aktualisieren 1
ich ein Upgrade von Jasper versuchte Berichte 5.2.0 zu 6.2.0 und Jasper Fonts 4.0.0 bis 6.0.0 ... keine Veränderung.
aktualisieren 2
meine src/main/resources/jasperreports_extension.properties
und das Hinzufügen von
net.sf.jasperreports.export.pdf.force.linebreak.policy=true
Bearbeitung Versuchte ... keine Änderung.
(vor allem wenn in meinem Anwendungsfall kann ich nicht isStretchWithOverflow="true"
verwenden, so kann dies sein, warum es nicht funktioniert.)
Update 3
Ich habe versucht, die Schrift durch Bearbeitung Einbetten src/main/resources/jasperreports_extension.xml
und fügte hinzu:
net.sf.jasperreports.extension.registry.factory.fonts=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory
net.sf.jasperreports.extension.simple.font.families.arialFontFamily=fonts/customFontFamilies.xml
customFontFamilies.xml:
<?xml version="1.0" encoding="UTF-8"?>
<fontFamilies>
<fontFamily name="ArialEM">
<normal><![CDATA[fonts/Arial/Arial.ttf]]></normal>
<bold><![CDATA[fonts/Arial/Arial Bold.ttf]]></bold>
<italic><![CDATA[fonts/Arial/Arial Italic.ttf]]></italic>
<boldItalic><![CDATA[fonts/Arial/Arial Bold Italic.ttf]]>/boldItalic>
<pdfEncoding><![CDATA[Cp1252]]></pdfEncoding>
<pdfEmbedded><![CDATA[true]]></pdfEmbedded>
</fontFamily>
</fontFamilies>
... keine Würfel. (Dies half jedoch bei einem Problem, bei dem der PDF-Renderer von Firefox keine fett gedruckten Schriftarten darstellen würde.
)Update 4
stellte ich fest, daß die Testfälle in alle ich in der Lage war, zu schaffen, dass die erste Linie war leer, so änderte ich die bestimmte Zelle vertical-align oben werden, die arbeitete, aber natürlich machte diese eine Zelle falsch, wenn es nicht viel Text darin gab.
Verschrottet, dass als Lösung, kann aber für jemanden arbeiten.
Update 5
An dieser Stelle hoffentlich ist es klar, ich habe die „echte“ Lösungen ausprobiert und beobachtete, wie sie alle einen schrecklichen Tod sterben. So betreten wir den Bereich der Hack-Lösung. Zuerst versuchte ich @ wmmcis Lösung, aber seine Antwort ändert die Höhe meiner Box (aufgrund der dynamischen Berechnung durch Dynamic Jasper
). Ich habe bemerkt, dass alle Beispiele, die ich erstellen konnte, Zwischenwortzeiträume in der Zeichenfolge involvierten, z. "foo ... bar". Das ist vielleicht nicht dein Fall, aber es war für mich. Also injizierte ich einen "Haarraum" ( 
) nach Leerzeichen.
Dies ist offensichtlich keine echte Lösung, nur eine vorübergehende Umgehung, bis ich in der Lage bin, weitere Beispiele für den Fehler zu finden.
Update 6
Ich habe und ich habe nicht @ KarolisŠarapnickis die Ausgabe mit dem printOrder
. Ah, gut. Ich werde weitermachen. ;-)
Haben Sie gefunden, eine Lösung für dieses Problem? Ich habe das gleiche Problem und es ist so nervig ... es scheint wie Jaspis kann nicht die maximale Anzahl der Zeichen berechnen, wenn es ein Eingabedaten in Fett und dann schneidet es den Rest beim Export in PDF – Jesus
Für zukünftige Referenz, Benutzer Mit diesem Problem sollte überprüft werden, dass [font-Erweiterungen] (https://stackoverflow.com/documentation/jasper-reports/5773/font-extensions#t=201705312048127084075) korrekt verwendet werden –