aardio 文档

aardio 范例: 直接从结构化内容生成 DOCX;无需 Office、HTML 或 .NET。

// 直接从结构化内容生成 DOCX;无需 Office、HTML 或 .NET。
import fsys.openXml.docx.builder;
import fsys.dlg;

var document={
    numbering=[{kind="decimal";start=3},{kind="bullet"}];
    blocks=[
        {style="Heading1";runs=[{kind="bookmark";name="Intro";id=1},{text="Word 原生生成"}]},
        {text="段落、文本格式、编号、链接与表格都是真实的 Word 内容,可以继续编辑。"},
        {style="Heading2";text="格式化文字"},
        {runs=[
            {text="加粗";bold=true},
            {text=" / 斜体";italic=true},
            {text=" / 高亮";background=0xFFF8C5},
            {text=" / 蓝色";color=0x0969DA},
            {kind="break"},
            {text="零与布尔值: "},{text=0},{text=" / "},{text=false}
        ]},
        {style="Heading2";text="连续编号"},
        {text="使用结构化内容组织报告。";numId=1},
        {text="调用 builder 生成 Word 部件。";numId=1},
        {text="由公共 writer 完成安全保存。";numId=1},
        {style="Heading2";text="表格与数据"},
        {kind="table";widths=[2600,6426];rows=[
            {header=true;cells=[
                {background=0xF6F8FA;blocks=[{runs=[{text="项目";bold=true}]}]},
                {background=0xF6F8FA;blocks=[{runs=[{text="值";bold=true}]}]}
            ]},
            ["计数",0],["完成",false],["空值展示",""]
        ]},
        {style="CodeBlock";text='var value = 0;\nprint(value);'},
        {runs=[{kind="break";breakType="page"}]},
        {style="Heading1";text="转换共用一个内核"},
        {text="Markdown → 有限 HTML → fsys.openXml.docx.builder → fsys.openXml.writer → DOCX"},
        {text="HTML 适配器处理空白、任务列表和宽表格降级。";numId=2},
        {text="Word 生成器负责段落、表格、编号、样式和关系。";numId=2},
        {text="ZIP 写入和原子保存只在公共 writer 中实现。";numId=2},
        {quote=true;left=360;text="这是一个有限、可测试的生成子集,不是网页排版器,也不会改写用户已有的 Word 文档。"},
        {runs=[{text="返回标题";hyperlink={anchor="Intro"}},{text="    "},{text="aardio 网站";hyperlink="https://www.aardio.com/"}]}
    ]
};

var path=fsys.dlg.save("Word 文档|*.docx|","保存 Word 原生生成示例",,,,"word-native.docx");
if(!path)return;
var saved,err,report=fsys.openXml.docx.builder.write(path,document,{
    title="Word 原生生成";author="aardio";
});
if(!saved){print(err);return null,err;}
raw.explore(saved,"/select");
return saved,report;

Markdown 格式