融界2024年4月10日消息,据国家知识产权局公告,中国邮政储蓄银行股份有限公司申请一项名为“前端查询页面的生成方法、查询方法及电子设备、存储介质“,公开号CN117850780A,申请日期为2024年1月。
专利摘要显示,本申请公开了一种前端查询页面的生成方法、查询方法及电子设备、存储介质,所述生成方法包括:通过定义语法,配置得到语法库,所述语法库包括查询条件标签和查询结果标签;根据页面开发需求,解析所述查询条件标签得到页面的查询条件以及解析所述查询结果标签得到页面的查询结果;根据所述查询条件和所述查询结果的组合,生成所述前端查询页面的自定义页面。通过本申请实现了前端查询页面的自动生成。本申请可用于金融领域的前端查询页面开发项目。
本文源自金融界
绍一款神器,不要再傻乎乎的从“0”开始写代码了
作为前端开发者,我们有没有幻想过——设计稿直接生成前端代码,今天他来了,直接上视频
支持一键生成vue/uni-ap/小程序
再也不用苦逼得当码农了,别人在敲代码,我却在谈恋爱。大大提高开发效率。
Python是一门易学易用、代码简洁的编程语言,广泛应用于各个领域,尤其适合用于办公自动化。
通过使用Python实现办公自动化,不仅能够大幅提升工作效率,还能有效减少重复性的任务。Python的应用场景非常广泛,包括操作Word、Excel、PPT,处理文本和文件,自动发送邮件,进行网页自动化操作,定时任务调度,图像处理与识别,自动生成报表,以及整合API和外部系统等。这些功能的集成使用,可以显著提高办公效率。
在Python生态系统中,python-docx、jinja2 和 python-docx-template 等库为我们提供了强大且灵活的工具,使得我们能够以编程的方式轻松创建和修改Word文档,从而进一步优化办公自动化流程。
python-docx是一个Python库,用于创建和修改Microsoft Word文档。
它可以用来添加文本、插入图片、创建表格、设置格式和样式等。
这个库特别适合需要自动生成报告或处理文档的应用。
from docx import Document
from docx.shared import Inches
# 创建文档对象
document=Document()
# 添加标题
document.add_heading('文档标题DHub', 0)
# 添加段落,包含粗体和斜体文本
p=document.add_paragraph('这是一个普通段落,包含一些 ')
p.add_run('粗体').bold=True
p.add_run(' 和一些 ')
p.add_run('斜体。').italic=True
# 添加一级标题
document.add_heading('一级标题', level=1)
# 添加引用样式的段落
document.add_paragraph('强烈引用', style='Intense Quote')
# 添加无序列表项
document.add_paragraph('无序列表项', style='List Bullet')
# 添加有序列表项
document.add_paragraph('有序列表项', style='List Number')
# 添加图片,并设置宽度
document.add_picture('./images/monty-truth.png', width=Inches(1.25))
# 添加表格
records=(
(3, '101', '火腿'),
(7, '422', '鸡蛋'),
(4, '631', '火腿、火腿、鸡蛋和火腿')
)
table=document.add_table(rows=1, cols=3)
hdr_cells=table.rows[0].cells
hdr_cells[0].text='数量'
hdr_cells[1].text='编号'
hdr_cells[2].text='描述'
for qty, id, desc in records:
row_cells=table.add_row().cells
row_cells[0].text=str(qty)
row_cells[1].text=id
row_cells[2].text=desc
# 添加分页符
document.add_page_break()
# 保存文档
document.save('demo.docx')
输出:
python-docx创建文档功能强大,但不适用于修改文档。
Jinja2 是一个Python模板引擎,用于生成动态网页内容。
它允许创建包含占位符的模板,这些占位符在渲染时会被实际数据替换。
pip install jinja2
假设要创建一个显示购物清单的网页,就可以使用Jinja2来动态生成包含购物项的HTML页面。
app.py:
from flask import Flask, render_template
app=Flask(__name__)
@app.route('/')
def index():
items=[
{'name': '苹果', 'quantity': 5},
{'name': '香蕉', 'quantity': 3},
{'name': '牛奶', 'quantity': 2}
]
return render_template('shopping_list.html', items=items)
if __name__=='__main__':
app.run(debug=True)
templates/shopping_list.html:
<!DOCTYPE html>
<html>
<head>
<title>购物清单</title>
</head>
<body>
<h1>我的购物清单</h1>
<ul>
{% for item in items %}
<li>{{ item.name }} - {{ item.quantity }} 个</li>
{% endfor %}
</ul>
</body>
</html>
在这个示例中,我们有一个 Flask 路由 /,它将一个购物项列表传递给模板 shopping_list.html。
模板使用 Jinja2 的循环语法 {% for item in items %} 来动态生成每个购物项的列表。
这样,每次访问页面时,都会显示当前的购物清单。
虽然python-docx在创建文档方面非常强大,但它在修改现有文档时有一定的局限性。
python-docx-template允许用户利用熟悉的 Word 界面创建模板文档,并通过jinja2`的模板语法动态替换和修改内容。
详细文档请参考:python-docx-template
这个包结合了以下两个库:
1、使用Microsoft Word创建所需的文档样本,包括图片、目录、页脚、页眉、变量等。
2、在文档中插入类似 Jinja2 的标签,并将文档保存为.docx文件,作为模板文件。
3、使用python-docx-template从模板和相关的上下文变量生成多个Word文档。
tpl=DocxTemplate('template.docx')
tpl.render(context_dict)
set_of_variables=tpl.get_undeclared_template_variables()
import jinja2
def multiply_by(value, by):
return value * by
jinja_env=jinja2.Environment()
jinja_env.filters['multiply_by']=multiply_by
from docxtpl import DocxTemplate, InlineImage
import datetime as dt
from docx2pdf import convert
# 指定输入和输出文件名
input_file='docs/invitation.docx'
output_file='docs/invitation.pdf'
# 创建文档对象
doc=DocxTemplate("inviteTmpl.docx")
# 创建上下文字典
context={
"todayStr": dt.datetime.now().strftime("%Y年%m月%d日"),
"recipientName": "亲爱的朋友",
"evntDtStr": "2024年08月09日",
"venueStr": "洛克大厦", # 事件地点
"senderName": "吴建明", # 发送者名字
}
# 将图片插入到上下文中
context['bannerImg']=InlineImage(doc, 'images/AIGC.png')
# 将上下文渲染到文档对象中
doc.render(context)
# 将文档对象保存为 Word 文件
doc.save(input_file)
# 将 DOCX 文件转换为 PDF
convert(input_file, output_file)
执行时长约为 3 秒:
生成word和pdf文件,pdf内容如右下图。2个文件格式完全一致。
通过 python-docx、jinja2 和 python-docx-template,我们可以高效地创建和修改Word文档,并实现动态内容的自动生成。
无论是生成报告、创建网页内容,还是处理复杂的文档模板,这些工具都能为我们的工作提供强大的支持。
*请认真填写需求信息,我们会在24小时内与您取得联系。