ruby docx gem未将文本插入文档

rqcrx0a6  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(208)

我需要从模板中读取以下类并创建新的docx文件:-
需要“docx”

class DocX
  def generate_doc
    # Create a Docx::Document object for our existing docx file
    doc = Docx::Document.open("#{Rails.root}/app/lib/docx_templates/sample.docx")

    doc.bookmarks['cypsldshvlxb'].insert_text_after("Hello, world")

    # Iterate over each table
    doc.tables.each do |table|
      last_row = table.rows.last

      # Copy last row and insert a new one before last row
      new_row = last_row.copy
      new_row.insert_before(last_row)

      # Substitute text in each cell of this new row
      new_row.cells.each do |cell|
        cell.paragraphs.each do |paragraph|
          paragraph.each_text_run do |text|
            text.substitute('_placeholder_', 'replacement value')
          end
        end
      end
    end

    doc.save("#{Rails.root}/app/lib/docx_templates/sample_edited.docx")
  end

结束
以上大部分内容都是从这个gem的自述文档中提取的。
新文件保存时没有任何错误,但插入文本“hello,world”的代码无效。表中的文本替换以及新行插入都可以正常工作。
我只使用下面的名称获得书签名称,因此我知道它存在,但可能我使用了错误的名称:-

doc.bookmarks.each_pair { |name, object| puts name }

有人知道我可能做错了什么吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题