docx_template/
lib.rs

1pub mod docx;
2pub mod error;
3pub mod image;
4pub mod request;
5#[cfg(test)]
6mod tests {
7    use crate::docx::DocxTemplate;
8
9    #[tokio::test] // 使用 tokio 运行时
10    async fn test_replacement() {
11        // 1. 创建模板处理器
12        let mut docx_template = DocxTemplate::new();
13
14        // 2. 添加要替换的内容
15        docx_template.add_text_replacement("{{groupLeader}}", "Acme 公司");
16        docx_template.add_text_replacement("{{groupMembers}}", "张三");
17        docx_template.add_text_replacement("{{city}}", "2023-11-25");
18        docx_template.add_text_replacement("{{town}}", "¥10,000");
19        docx_template.add_text_replacement("{{county}}", "30天内付清");
20
21        docx_template.add_image_url_replacement("{{photo1}}", Some("http://gips3.baidu.com/it/u=100751361,1567855012&fm=3028&app=3028&f=JPEG&fmt=auto?w=960&h=1280")).await.expect("msg");
22        docx_template.add_image_url_size_replacement("{{photo2}}", Some("http://gips3.baidu.com/it/u=100751361,1567855012&fm=3028&app=3028&f=JPEG&fmt=auto?w=960&h=1280"),5.0,5.0).await.expect("msg");
23        docx_template
24            .add_image_file_replacement("{{photo3}}", Some("./data/bgImg.png"))
25            .expect("添加本地图片失败");
26        docx_template
27            .add_image_file_size_replacement("{{photo4}}", Some("./data/bgImg.png"), 5.0, 5.0)
28            .expect("添加图片失败");
29
30        // 3. 处理模板并生成新文档
31        docx_template
32            .process_template("./data/西藏自治区严格管控核查表单.docx", "output.docx")
33            .expect("");
34
35        println!("文档生成成功!");
36    }
37}