Skip to main content

用Python轻松生成符合政府机关常用排版格式的docx文件!

Project description

cn-gov-docx

一个基于 python-docx 的中文公文 Word(.docx)生成工具,用于快速生成符合政府机关常见排版规范的文档结构。

本项目目标是提供一套稳定、可复用的公文排版生成层,减少重复排版工作。


功能特点

  • 自动生成 A4 公文版式(页边距已预设)
  • 内置中文公文常用字体规则
  • 支持标题 / 分级标题 / 正文结构
  • 自动处理首行缩进与行距
  • 封装常用 Word 样式设置逻辑
  • 基于 python-docx,无复杂依赖

安装

pip install cn-gov-docx

快速开始

from cn_gov_docx import CnGovDocx

doc = CnGovDocx()

doc.add_title("关于推进重点工作的通知")

doc.add_h1("一、总体要求")
doc.add_text("这里是正文内容,用于测试公文排版效果。")

doc.add_h2("(一)工作目标")
doc.add_text("继续补充正文内容。")

doc.save("output.docx")

默认排版规则

页面设置(A4)

  • 上边距:3.7 cm
  • 下边距:3.5 cm
  • 左边距:2.8 cm
  • 右边距:2.6 cm

字体规范

类型 字体
标题 方正小标宋简体
一级/二级/三级标题 黑体
正文 仿宋_GB2312

正文格式

  • 字号:16pt(接近三号)
  • 行距:28pt
  • 首行缩进:2字符
  • 对齐方式:两端对齐

API

GovDocx()

创建文档实例。

doc = GovDocx()

add_title(text)

添加居中主标题。

doc.add_title("标题")

add_h1(text)

添加一级标题,同样的还有二、三级标题。

doc.add_h1("一级标题")
doc.add_h2("二级标题")
doc.add_h3("三级标题")

add_text(text, indent_first_line=True, remove_newlines=True)

添加正文内容。

doc.add_text("正文内容")

参数

  • indent_first_line:是否首行缩进(默认 True
  • remove_newlines:是否移除换行并合并为单段(默认 True

针对remove_newlines的说明

Python 三引号换行通常用于代码可读性,不代表真实段落结构。该参数用于区分“格式化换行”与“真实排版结构”。

True(默认)
  • 忽略所有换行符(含 """...""" 内换行)
  • 合并为单一段落
  • 用于公文正文标准排版
False
  • 保留原始换行结构
  • 每行按原样写入文档
  • 可能形成多段或显式换行

save(path)

保存文件。

doc.save("result.docx")

使用说明(重要)

1. 字体依赖

本项目依赖系统字体:

  • 方正小标宋简体
  • 黑体
  • 仿宋_GB2312

如果系统缺失字体,Word 会自动替换字体,可能导致排版不一致。


2. 适用范围

适用于:

  • 政府公文格式草稿
  • 国企/事业单位文书
  • 标准化报告生成
  • 批量文档生成场景

不适用于:

  • 精确符合某地区红头文件模板(需二次定制)
  • 复杂 Word 版式设计
  • 非中文排版场景

依赖

  • python-docx >= 1.1.0 (别的版本没有测试)

未来计划

  • 支持图片插入
  • 更严格的 GB/T 9704 对齐

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cn_gov_docx-0.1.0.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cn_gov_docx-0.1.0-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file cn_gov_docx-0.1.0.tar.gz.

File metadata

  • Download URL: cn_gov_docx-0.1.0.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for cn_gov_docx-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a5a63bb3aad0a40f67cc9dfaa32cc7f2d6e4e52f3e831e17deb7f7d4f1dc3986
MD5 803135ce36e7e14c5a4bbb54ee096029
BLAKE2b-256 1fd287dc4c699c00582847df6e2e9c04b2b005303fc62ad7fe5417f0f93a6759

See more details on using hashes here.

File details

Details for the file cn_gov_docx-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cn_gov_docx-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for cn_gov_docx-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a037674471e26a9a8bd020ff7ffe3609f18465f1dae8ce72860c68a225bf0692
MD5 e4ae951622e21d9c7ba80f8d8a7cb4ef
BLAKE2b-256 ca30cd2a8ad1ca3a39fbd335bc4a9573a50981fed117443bc41126a293c50617

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page