【问题标题】:Generate libreoffice text document programmatically from template从模板以编程方式生成 libreoffice 文本文档
【发布时间】:2013-12-21 19:06:36
【问题描述】:

我正在尝试找到一种以编程方式从 .ott 模板生成 .odt 文档的方法。这应该以编程方式完成。关于如何实现这一点的任何想法?

我找到了一些在 Java (http://incubator.apache.org/odftoolkit/odfdom/index.html) 中生成 .odt 文件的方法,但似乎无法从 .ott 模板生成文档。

实现语言或多或少无关紧要,但最好的是 Node.js 上的 JavaScript。

提前感谢您的帮助。

【问题讨论】:

    标签: node.js libreoffice odfdom


    【解决方案1】:

    我在 python 中编写了一个名为“秘书”的实用程序,用于从 ODT 模板创建 ODT 文档。你可以在https://github.com/christopher-ramirez/secretary查看它,也许它可以帮助你。下一个版本将支持向渲染文档添加图像。

    【讨论】:

      【解决方案2】:

      你检查过node-odt吗?在我看来它支持你所需要的。

      根据其文档:

      一个用于处理 OpenDocument 文本文件的节点 js 工具。

      及其示例之一:

      var fs = require('fs')
        , odt = require('odt')
        , template = odt.template
        , createWriteStream = fs.createWriteStream
      var doc = 'mytemplate.ott';
      var values = { 'subject': 'My subject value' };
      
      // apply values
      
      template(doc)
        .apply(values)
        .on('error', function(err){
          throw err;
        })
        .finalize(function(bytes){
          console.log('The document is ' + bytes + ' bytes large.');
        })
        .pipe(createWriteStream('mydocument.odt'))
        .on('close', function(){
          console.log('document written');
        });
      

      【讨论】:

      • 是的,这是我自己的方法。我是这个的作者。不幸的是,这是一种非常幼稚的方法,并且不再适用于较新的 libreoffice 版本。
      • 哇!我没有注意到您是作者 :) 对于为您发布如此明显的答案,我深表歉意。那么,您的库不适用于新的 LibreOffice 版本吗?你有机会更新图书馆吗?
      猜你喜欢
      • 2011-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-21
      相关资源
      最近更新 更多