Crates.io | libreoffice-rs |
lib.rs | libreoffice-rs |
version | 0.3.3 |
source | src |
created_at | 2022-05-19 05:45:40.298991 |
updated_at | 2023-04-14 02:57:32.52627 |
description | Rust binding for LibreOfficeKit |
homepage | |
repository | https://github.com/undeflife/libreoffice-rs |
max_upload_size | |
id | 589518 |
size | 60,062 |
Rust bindings to LibreOfficeKit
[dependencies]
libreoffice-rs = 0.3
you need install LibreOffice ( >= 6.0 is recommended ), Debian 11 for example:
$ 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
due to this issue , here use a libwrapper.a to carry static funtion lok_init
which defined in LibreOfficeKitInit.h
.
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(())
}
This project is licensed under the [Apache License 2.0][license]