#ffi #libre-office-kit #lok

libreoffice-rs

Rust 语言对 LibreOfficeKit 的绑定

9 个版本

0.3.3 2023年4月14日
0.3.2 2022年7月3日
0.3.0 2022年6月24日
0.2.1 2022年6月23日
0.1.2 2022年5月26日

#ffi 中排名第 381

Apache-2.0 协议

31KB
326 行代码(不包括注释)

libreofficeKit-rs

Rust 语言对 LibreOfficeKit 的绑定

安装

[dependencies]
libreoffice-rs = 0.3

您需要安装 LibreOffice(推荐版本 >= 6.0),例如 Debian 11

$ sudo apt-get install libreoffice libreofficekit-dev clang
# set env variable `LO_INCLUDE_PATH` to the LibreOffice headers.
$ export LO_INCLUDE_PATH=/usr/include/LibreOfficeKit

由于 此问题,这里使用一个 libwrapper.a 来携带在 LibreOfficeKitInit.h 中定义的 static funtion lok_init 静态函数。

示例

use libreoffice_rs::{Office, LibreOfficeKitOptionalFeatures, urls};

fn main() -> Result<(), Box<dyn std::error::Error>> {
  // your libreoffice installation path
  let mut office = Office::new("/usr/lib/libreoffice/program")?;
  let doc_url = urls::local_into_abs("./test_data/test.odt")?;
  let mut doc = office.document_load(doc_url)?;
  doc.save_as("/tmp/test.pdf", "pdf", None);
  Ok(())
}

许可证

此项目采用 [Apache License 2.0][license] 许可

依赖项

~1-3MB
~85K SLoC