docx_template/
lib.rs

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