Jython で Apache POI を使用してテーブルを作成し、ブックマークがある 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)
しかし、テーブルなどの別の要素を挿入するには、解決策が見つかりません。表は栞の中に入れたほうがいいのですが、段落の先頭ではなく、その直前に入れればさらに良いです。
助けや別のアイデアをいただければ幸いです。ありがとう。