【问题标题】:Apache PDFBox, Boxable - HTML ordered/unordered list is incorrectly displayedApache PDFBox,Boxable - HTML 有序/无序列表显示不正确
【发布时间】:2017-09-12 20:32:16
【问题描述】:

我正在尝试使用 apache pdfbox 和 dhorions/boxable 库创建 pdf 文件。但是,我无法在单元格中显示嵌套的 html 列表。

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()

输出:

正如您在图像中看到的,列表没有正确对齐,而不是子子项中的制表符,而是显示换行符。

我正在使用 boxable 版本 1.5-RC 和 pdfbox 版本 2.0.5。

【问题讨论】:

  • 我是否正确理解您希望将有序列表嵌套在“heelo 2”条目中?
  • @mkl 是的,我想要嵌套的有序列表。但是,我也尝试了无序列表,但我得到了同样的错误。顺便说一句,我已经浏览了 boxable 的 github 问题页面,并发现了与此相关的问题,这表明此问题已在更新中得到解决,但我不断收到此错误。我已经浏览了更新的代码,我认为更新的代码没有与 master 合并。你有什么解决办法吗?
  • 如果还没有和master合并,从各自的开发分支构建你自己的jar。

标签: scala pdfbox boxable


【解决方案1】:

我可以使用在 2016 年 6 月 25 日星期六 08:15:03 CEST 2016 创建的可装箱版本 1.5-RC 重现您的观察结果。

当前的主分支包含在该日期之后合并的许多更改。事实上,编译它并将生成的工件与您的代码一起使用会得到不同的图像:

尽管主分支 pom.xml 仍然声称版本 1.4,但与 1.5-RC 相比,它似乎包含许多修复。

因此,我建议编译主代码并使用生成的工件。但是,您应该明确更新版本,例如到 1.5-SNAPSHOT 或到 1.4.9 或类似的东西。

如果由于某种原因您不能这样做,您可能需要向可装箱作者询问发布时间表。

【讨论】:

    猜你喜欢
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    • 2017-09-08
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多