Skip to main content

一个简单的文本模板转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.

Source Distribution

docx_parsing_gmdzy2010-1.3.0.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

docx_parsing_gmdzy2010-1.3.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file docx_parsing_gmdzy2010-1.3.0.tar.gz.

File metadata

  • Download URL: docx_parsing_gmdzy2010-1.3.0.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.12.4 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.0

File hashes

Hashes for docx_parsing_gmdzy2010-1.3.0.tar.gz
Algorithm Hash digest
SHA256 c5440ae2d6383a226e4bc11742b3415f329c0483ad805f002ab86ccc57dd8498
MD5 9930296426357350f38bd9f7584838c9
BLAKE2b-256 f86520036e2e8f3c005674d52ed6f9c9c95285981411e9d0a9b01aeaef32fdbd

See more details on using hashes here.

File details

Details for the file docx_parsing_gmdzy2010-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: docx_parsing_gmdzy2010-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.12.4 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.0

File hashes

Hashes for docx_parsing_gmdzy2010-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ca8b25067377c28f8c037f4eee1978b26a8671925d722cc2e0ed6d5915a9a358
MD5 5ed9fe39921423acebb9e98af0b582e0
BLAKE2b-256 cf8be8d988e2f8a9ba59c8429ba16948f6cbd9ee9f44ac2119014eeda9770e69

See more details on using hashes here.

Supported by

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