Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

一个简单的文本模板转DOCX文件的包

Project description

# 文本模板转DOCX文件
[![PyPI](https://img.shields.io/pypi/v/docx-parsing-gmdzy2010.svg)](https://pypi.org/project/docx-parsing-gmdzy2010/)

### 功能概述
_________
本包基于一套自定义的`轻量级文本模板解析系统`,用于将文本文件转成Word的docx文件

#### 输入文件
###### 1. 文本模板文件
模板文件是一个纯文本文件,每3行为一个解析单位,解析规则只有以下3条:
>1.1 第一行包括元素类型和样式名称,用":"隔开;

>1.2 第二行为要写入docx文件的文本,每行内部分为多个run单位,用"||"隔开,每个run可以有下划线和加粗两种样式,在每个run的尾部,用"::"隔开

>1.3 第三行为分割线,79个下划线,为了让模板更易读而已,没太大意义

###### 2. DOCX模板文件
文件为一个空的或者自定义的docx文件,最好是包含python-docx自带docx模板的所有样式,方便直接调用
注意:样式有可能不生效,解决方法请移步python-docx的官方文档

###### 3. 文本模板的上下文数据
上下文数据为一个字典型的变量,用来对模板的变量进行格式化。

3.1 段落上下文对象`PARAGRAPH_CONTEXT`

例如,文本模板中有一个段落上下文变量`test_context`
```
...
cover:cover_title
模板内容||{test_context}::underline||后续文本
-------------------------------------------------------------------------------
...
```
则需要新建段落上下文对象,是一个python字典对象,可以以字典键值对的形式添加多个

```python
PARAGRAPH_CONTEXT = {
"demo_field_1": "测试文本",
"demo_field_2": 300.00,
"demo_field_3": 18003.00,
}

```
3.2 表格上下文对象`TABLE_CONTEXT`

例如,文本模板中有一个表格
```
...
table:demo_table_1
表格下面的文本不重要,仅仅用于占位
-------------------------------------------------------------------------------
...
```
这时需要新建表格上下文对象,包含表格的维度`rows`, `cols`,样式`style`等,类似于下方,可以以字典键值对的形式添加多个
```python
TABLE_CONTEXT = {
"demo_table_1": {
"attr": {
"style": "Table Grid",
"rows": 5,
"cols": 4,
},
"data": (
("第1列标题", "第2列标题", "第3列标题", "第4列标题"),
("第1行第1列内容", "第1行第2列内容", "第1行第3列内容", "第1行第4列内容"),
("第2行第1列内容", "第2行第2列内容", "第2行第3列内容", "第2行第4列内容"),
("第3行第1列内容", "第3行第2列内容", "第3行第3列内容", "第3行第4列内容"),
("第4行第1列内容", "第4行第2列内容", "第4行第3列内容", "第4行第4列内容"),
)
},
},
```
3.3 图片上下文对象`PICTURE_CONTEXT`

仍在测试中,后续单元测试通过后会将文档更新

### 使用
_________
>STEP 1. 在项目中导入渲染器`DocxProduce`,

>STEP 2. 写好文本模板,选择一个自带样式比较齐全的DOCX文件,可以从python-docx默认的模板拷贝而来

>STEP 3. 加载准备好的上下文和格式及样式数据,执行程序即完成


Project details


Download files

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

Files for docx-parsing-gmdzy2010, version 1.3.1
Filename, size File type Python version Upload date Hashes
Filename, size docx_parsing_gmdzy2010-1.3.1-py3-none-any.whl (10.9 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size docx_parsing_gmdzy2010-1.3.1.tar.gz (7.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page