【发布时间】:2023-04-10 03:10:02
【问题描述】:
我正在使用 columnText 通过 XMLWorkerHelper 将 html 绘制成 pdf,效果很好。
唯一的问题是,我正在使用的代码库需要通过 stamper.addAnnotation() 绘制所有内容
我不确定如何将 columnText 转换为可以作为注释添加的内容?
一些上下文:这是一种将前端中内容可编辑的 div 转换为 pdf 元素的方法,但必须以某种方式通过 stamper.addAnnotation 完成。
如果不可能将 html 绘制到 PDFAnnotations 中?
当前使用列文本的代码(JRuby):
elementsList = XMLWorkerHelper::parseToElementList(html, css)
@stamper = PdfStamper.new(@reader, output_stream)
canvas = @stamper.getOverContent(page_no)
ct = ColumnText.new(canvas)
ct.setSimpleColumn(rect)
elementsList.each{|element| ct.addElement(element)}
ct.go()
通常如何附加注释的示例代码:
annotation = PdfAnnotation.createFreeText(@stamper.getWiter(), rect, "blah blah", defaultAppearance)
@stamper = PdfStamper.new(@reader, output_stream)
@stamper.addAnnotation(annotation, page_no)
defaultAppearance 是 PdfContentByte 类型,所以也许有一种方法可以将 columnText 转换为该类型?我还没有弄清楚如何做到这一点。
有什么想法吗?
【问题讨论】:
-
PdfAnnotation 可以通过任何需要的方法创建
标签: java pdf pdf-generation itext jruby