我将 Apache POI 与 Jython 一起使用来创建表并将它们放置在我有书签的 docx 的某些位置。我可以通过它们的名称找到书签(CTBookmark 对象),在放置它们的段落的开头创建一个光标,然后在那里创建一个新表:
cursor = para.getCTP().newCursor() #para is the paragraph where the bookmark is placed
table = document.insertNewTbl(cursor) #cursor is an XMLCursor
如果我只想插入文本,我可以使用:
nextNode = bookmark.getDomNode() #considering it is the node named 'bookmarkEnd'
run = para.createRun()
run.setText('foo')
para.getCTP().getDomNode().insertBefore(run.getCTR().getDomNode(),nextNode)
但是要插入另一个元素,比如表格,我找不到解决方案。如果将表格放在书签内会更好,但如果将它放在它之前,而不是在段落的开头,那也很棒。
我感谢任何帮助或替代想法。谢谢。