A .docx file writer with Rust/WebAssembly.
[dependencies]
docx-rs = "0.2"
$ yarn add docx-wasm
use docx_rs::*;
pub fn hello() -> Result<(), DocxError> {
let path = std::path::Path::new("./hello.docx");
let file = std::fs::File::create(&path).unwrap();
Docx::new()
.add_paragraph(Paragraph::new().add_run(Run::new().add_text("Hello")))
.build()
.pack(file)?;
Ok(())
}
pub fn hello() -> Result<(), DocxError> {
let path = std::path::Path::new("./hello.docx");
let file = std::fs::File::create(&path).unwrap();
Docx::new()
.add_paragraph(Paragraph::new().add_run(Run::new().add_text("Hello")))
.build()
.pack(file)?;
Ok(())
}
import { saveAs } from "file-saver";
// // Note that a dynamic import statement here is required due to webpack/webpack#6615,
import("docx-wasm").then((w) => {
const { buffer } = new w.Docx()
.addParagraph(
new w.Paragraph().addRun(new w.Run().addText("Hello world!!"))
)
.build();
saveAs(new Blob([buffer]), "hello.docx");
});
// // Note that a dynamic import
statement here is required due to webpack/webpack#6615,
import("docx-wasm").then((w) => {
const { buffer } = new w.Docx()
.addParagraph(
new w.Paragraph().addRun(new w.Run().addText("Hello world!!"))
)
.build();
saveAs(new Blob([buffer]), "hello.docx");
});
const w = require("docx-wasm");
const { writeFileSync } = require("fs");
const { buffer } = new w.Docx()
.addParagraph(new w.Paragraph().addRun(new w.Run().addText("Hello world!!")))
.build();
writeFileSync("hello.docx", buffer);
writeFileSync("hello.docx", buffer);
You can run example with following code.
Please see examples
directory.
$ cargo run --example [EXAMPLE_NAME]
For Example if you want to run hello
example.
Please run following command.
$ cargo run --example hello
So you can see output file in output directory.
Please run following command.
make lint && make test
If snapshot testing is failed, fix code or update snapshot files. (See https://insta.rs/).
$ cargo-insta review
Then re run test.
$ make test
Please run following command.
$ cd docx-wasm && yarn install && yarn test
If snapshot testing is failed, fix code or update snapshot files. (See https://jestjs.io/docs/snapshot-testing).
$ yarn test -- --updateSnapshot
Version | Tag | Published |
---|---|---|
0.4.1 | 1mo ago | |
0.4.0 | 3mos ago | |
0.3.4 | 3mos ago | |
0.3.3 | 3mos ago |