2017-04-17 1 views
0

Ich versuche, PDF-Datei mit Apache Pdfbox und Dhorions/Boxable-Bibliothek zu erstellen. Ich habe jedoch Probleme, eine verschachtelte HTML-Liste in den Zellen anzuzeigen.Apache PDFBox, Boxable - HTML sortierte/ungeordnete Liste wird falsch angezeigt

val document: PDDocument = new PDDocument() 
var myPage: PDPage = new PDPage(PDRectangle.A4) 
document.addPage(myPage) 
var yPosition: Float = 777 
val margin = 40 
val bottomMargin = 40 
val yStartNewPage = myPage.getMediaBox().getHeight() - (margin) 
val tableWidth = myPage.getMediaBox().getWidth() - (2 * margin) 
val table = new BaseTable(yPosition, yStartNewPage, bottomMargin, tableWidth, margin, document, myPage, true, true) 
val row: be.quodlibet.boxable.Row[PDPage] = table.createRow(10f) 
var cell = row.createCell((100/3f),"<ul><li>hello</li><li>hello 2</li><ol><li>nested</li><li>nested 2</li></ol></ul>", be.quodlibet.boxable.HorizontalAlignment.get("left"), be.quodlibet.boxable.VerticalAlignment.get("top")) 
table.draw() 

Ausgang:

enter image description here

Wie man auf dem Bild sehen kann, ist die Liste nicht richtig ausgerichtet, statt Tab in subchild, Newline angezeigt wird.

Ich benutze, boxable Version 1.5-RC und pdfbox Version 2.0.5.

+0

Verstehe ich Sie richtig, dass Sie die geordnete Liste im "heeveo 2" -Eintrag verschachtelt haben? – mkl

+0

@mkl ja, ich möchte geordnete Liste als verschachtelt. Allerdings habe ich auch eine ungeordnete Liste versucht, aber ich bekomme denselben Fehler. Übrigens, ich habe gitub Probleme Seite von Boxable gegangen, und fand auch Probleme im Zusammenhang damit, die besagt, dass diese Probleme im Update gelöst wurde, aber ich bekomme diesen Fehler immer wieder. Ich habe die aktualisierten Codes durchgesehen und denke, dass die aktualisierten Codes nicht mit dem Master zusammengeführt werden. Hast du irgendeine Lösung? –

+0

Wenn es noch nicht mit Master verschmolzen ist, bauen Sie Ihr eigenes Jar aus dem jeweiligen Entwicklungszweig. – mkl

Antwort

1

konnte ich Ihre Beobachtung mit boxable Version 1.5-RC reproduzieren, den Sa 25. Juni 08.15.03 CEST 2016.

Der aktuelle Master-Zweig eine Reihe von Änderungen nach diesem Zeitpunkt fusionierte erstellt wurde enthält. Und in der Tat, es und unter Verwendung des resultierenden Artefakt mit Ihrem Code kompiliert bekommt man ein anderes Bild:

Output with current master branch boxable

Auch wenn der Hauptzweig pom.xml noch behauptet, Version 1.4 scheint es eine Reihe von Fehlerbehebungen zu enthalten im Vergleich zu 1.5-RC.

Daher würde ich vorschlagen, den Master-Code zu kompilieren und das resultierende Artefakt zu verwenden. Sie sollten die Version jedoch definitiv aktualisieren, z. zu 1.5-SNAPSHOT oder zu 1.4.9 oder ähnlichem.

Wenn Sie aus irgendeinem Grund nicht dazu in der Lage sind, können Sie den ausführbaren Autor nach dem Veröffentlichungszeitplan fragen.