公文基本信息一

公文正文(支持 R Markdown)


如非正文需要,请跳过此步直接编辑正文!

                        

                          
                        

公文基本信息二

下载文档

上传待转文件

支持 Word、Excel、PPT、PDF 文档。

                      

Markdown 内容预览


                          
                        

欢迎使用基于 R 语言构建的文档自动化系统。本系统是一款面向党政机关、企事业单位的办公辅助工具,旨在通过数字化手段减少设置公文格式的手动操作,降低操作风险,提高公文的规范化,让公文撰写者将更多的时间花在内容质量上而不是形式调整上。同时该系统还引入了 AI 聊天和文档转 Markdown 后内容自动流转到主页功能,从内容和形式上全方位解决文档自动化需求。

系统架构

系统设计遵照前后端分离的原则,前端基于 Shiny,通过 Plumber API 与云端服务器系统进行通信。用户在前端网页面里填入相关公文要素后,触发「生成公文」按钮后,前端系统会调用 Plumber API 将用户输入的数据发送到后端服务器系统,后端服务器系统接收到请求后,利用 R Markdown 配合预制的公文模板生成 Word 文档,并将该文档内容转为 Base64 编码字符串反馈给前端,前端根据这些信息生成 Word 文档,用户点击「下载公文」按钮即可下载到最终结果文档。

功能简介

本系统支持用户自定义公文标题、报告人职位、报告人姓名、公文抬头、公文正文、附件名称、发文机关、生成的最终文档的文件名,用户填写公文基本要素后,实现一键生成符合规范的公文文档,包括领导发言稿、请示汇报、通知、会议纪要等,极大提升办公效率。

  • 支持在线填写公文基本信息(注:不包括成文日期)
  • 支持一键加载示例和清空示例,易于培训、演示
  • 支持上传数据文件,上传成功后可以嵌入到 R Markdown
  • 支持 R Markdown 语法编写正文内容,实现富文本排版
  • 支持正文部分的预览(该预览为伪预览,但格式基本保持一致)
  • 支持添加多个附件,附件之间用中文或者英文分号隔开即可
  • 支持结构化日志与审计追踪,满足安全审计与合规性要求
  • 支持跨设备(电脑、平板、手机等)跨平台(Windows、macOS、Linux等)
  • 支持 Google Chrome、Microsoft Edge、Firefox 等主流浏览器

锦上添花的辅助功能:

  • 支持调用 AI 多轮对话后内容自动流转到开始页标题和正文
  • 支持 Word、Excel、PPTX、PDF 文档转 Markdown 格式内容

操作步骤

操作步骤总体上分为三步骤:「加载示例」或者手动填写公文信息 ->「生成公文」->「下载文档」。

填写公文信息

填写信息部分如果你对公文不了解,实在是不知道怎么填,那么你可以选择点击最下面的「加载示例」按钮,它会自动帮你填写一份请示汇报示例。如果「加载示例」后您需要清空示例内容,你只需点击「清空示例」即可恢复初始状态,并删除所有已填内容和生成的文档。

公文标题。公文标题为必输项,否则系统拒绝执行。例:“关于推进政务服务数字化改革的请示”。

报告人职位。如果是领导讲话稿才填写,否则留空即可。如:“党委书记、局长”。

报告人姓名。如果是领导讲话稿,请务必填写,这是系统区分领导讲话稿和其它文体的关键。如:“张三”。

公文抬头。除会议纪要外,公文抬头通常需要填写,冒号可不加,系统会自动补全。如:“同志们”。

公文正文。公文正文支持上传数据、编辑正文和预览正文功能。公文正文部分强烈建议用户提前在 VS Code 里编辑好再复制进来,以免数据丢失。

  • 上传数据。如非正文需要,请跳过此步直接编辑正文!上传数据步骤:点击「浏览」在弹出的窗口里找到本地要上传的数据文件,双击该文件即可;数据文件上传成功后系统会生成一个临时文件路径,如/tmp/Rtmp8X/602b/0.xlsx,用户只需要在 R Markdown 里用代码读取数据即可,如:

    ```{r}
    data = readxl::read_excel("/tmp/Rtmp8X/602b/0.xlsx")
    ```
    
  • 编辑正文。编辑正文支持 R Markdown 语法格式的内容。几级标题就在标题前面加几个#号,#和标题之间用空格隔开;加粗字体如**粗体**,效果:粗体;中文没有斜体,英文如*Hi*,效果:Hi;段与段之间用空行隔开;缩进及行间距等引用云端预制模板样式,忘记它们吧!想学习更多 Markdown 语法知识请参考 COS论坛说明

    R Markdown 里支持嵌入代码及代码运行结果,让 Markdown 如虎添翼。例如:

    ```{r echo = FALSE}
    # 变量 x 为圆的半径
    x = 1
    ```
    
    当圆的半径为 `r x` 时,圆的面积为 `r pi * x^2`。
    

    最终文档效果:

    当圆的半径为 1 时,圆的面积为 3.14。

  • 预览正文。为了确保正文中代码能正常运行且结果符合预期,你可以在编辑好正文后预览正文查看效果。

    预览正文本质上是一个伪预览,并不是最终生成的 Word 文档的预览,而是先让正文生成 HTML 片段,然后通过 CSS 和 JS 定制,达到尽可能符合公文排版的效果,与最终结果会有略微差异。

附件名称。系统支持添加多个附件,附件之间用分号(「;」或「;」均可)隔开即可。例如:“考核办法;实施细则”。注意:只填写附件名称即可,不支持添加附件文件。

发文机关。除领导讲话稿和会议纪要外,公文都必须署名发文机关。例如:“高新区人工智能服务中心”。

成文/发言日期。成文日期系统默认为当前日期,基于尊重事实原则,不支持自定义,前端页面上不提供填写入口;领导发言稿需要填写发言日期,发言日期系统默认为当前日期,不支持自定义,下载文档后请根据实际情况修改。

文件名称。文件名称支持自定义,也可以不填写,使用默认文件名,默认命名格式为“标题-当前年月日时分秒.docx”。例如:“数字化改革请示-20250927153628”。

说明:公文要素填写要求对照表中“√”表示必填、“x”表示不能填、“○”表示选填。

生成公文

公文信息填写完毕后,点击「生成公文」,如果公文生成成功,系统右上角会提示用户,如:“公文已生成:数字化改革请示-20250927153628(17KB)”;如果公文生成失败,系统右上角会提示用户报错信息,如“公文生成失败”。

下载文档

「下载文档」按钮在没有生成公文的情况下为不可用状态,一旦公文生成成功,「下载文档」按钮会变为可用状态,点击该按钮后浏览器会自动下载最终的结果文档。

Windows 系统下,下载后的文档通常在C:\Users\你的用户名\Downloads

锦上添花

这个文档自动化系统一开始的设计是服务于自动生成文档的格式部分,内容需要用户自己准备。上线半个月的用户实践告诉我:用户初次使用本系统时,普遍对 Markdown 语法比较懵,不知道如何填写正文。于是乎我想到了让 AI 自动生成内容然后流转过来,实现从形式和内容上全方位解决用户的痛点。

  • 「上下求索」页面里,用户可以与 AI 进行多轮对话,点击「内容流转」后,系统会将 AI 最后一次给出的答复流转到「开始使用」页面的的正文,省去了用户逐个填写的烦恼。
  • 「文档转码」页面里,用户可以把 Word、Excel、PPT 和 PDF 文档转为 Markdown 格式的内容。点击「内容流转」后,系统会将标题和正文提取出来自动填入「开始使用」页的相应位置。

特别鸣谢

系统开发过程中得到了很多好友和技术大神的技术支持和鼓励,这里要特别感谢于淼肖楠黄天元张敬信苏玮谢益辉叶健峰(注:排名按技术支持和意见反馈的时间顺序,不分先后)。

联系作者

作者:楚新元

Email:i@cxy.cc

个人网站:https://cxy.cc/

版权说明

1.版权归楚新元所有,个人用户免费使用。

2.未经作者许可,不得用于任何商业用途。