当前位置: 首页 > news >正文

国外有建站公司吗赣州有店科技有限公司

国外有建站公司吗,赣州有店科技有限公司,网页制作素材 期末考试,无锡 公共建设中心网站前言: 最近有需求处理docx文件,并讲内容显示到页面,对world进行在线的阅读,这样我这里就使用flaskDocument对docx文件进行处理并显示,下面直接上代码: Document处理: 首先下载Document的库文…

前言:

最近有需求处理docx文件,并讲内容显示到页面,对world进行在线的阅读,这样我这里就使用flask+Document对docx文件进行处理并显示,下面直接上代码:

Document处理:

首先下载Document的库文件,先直接安装最新版的python-docx,如果不行则换成1.1.0版本:

pip install python-docx
pip install python-docx==1.1.0

处理docx代码如下:

def ReadVADocx(ProjectName,DocxName):docxfilepath = vaReportDir + "\\" + ProjectName + "\\" + DocxNameparagraphs = ReadDocx(docxfilepath)return paragraphsdef ReadDocx(docxfilepath):doc = Document(docxfilepath)paragraphs = list()pattern = re.compile('rId\d+')for graph in doc.paragraphs:level = graph.style.name.split(' ')[-1]if level == "Normal":level = Noneelif level == "Preformatted":level = Noneparagraph = {'text': graph.text,'level': level,'images': ""}paragraphs.append(paragraph)for run in graph.runs:if run.text == '':contentID = pattern.search(run.element.xml)if contentID:contentID = contentID.group(0)try:contentType = doc.part.related_parts[contentID].content_typeexcept KeyError as e:print(e)continueif not contentType.startswith('image'):continueimgData = doc.part.related_parts[contentID].blobimage_base64 = base64.b64encode(imgData).decode('utf-8')paragraph = {'text':  run.text,'level': run.style.name.split(' ')[-1] if run.style.name.startswith('Heading') else None,'images': image_base64}paragraphs.append(paragraph)

上述代码会对docx文件进行遍历,并将对应的内容和等级放入数组中

下面是调用代码:

@app.route('/ViewVADocx', methods=['GET'])
def ViewVADocx():try:DocxName = request.args.get('docx')ProjectName = request.args.get('name')paragraphs = engine.ReadVADocx(ProjectName,DocxName)return render_template("viewdocx.html", n_getname=ProjectName, n_user=user,paragraphs=paragraphs)except Exception as e:return render_template('error-500.html')

html编写: 

然后就是需要讲对应的内容在页面进行展示,下面列出html代码:

{% extends "mould.html" %}{% block head %}
{% endblock %}{% block body %}<!--body wrapper start--><div class="wrapper"><div class="floating-box" id="floatingBox">↑回到顶部↑</div><!--Start Page Title--><div class="page-title-box"><h4 class="page-title">{{ n_getname }}:扫描节点线</h4><div class="clearfix"></div></div><!--End Page Title--><!--Start row--><div class="row"><div class="col-md-12"><div class="white-box"><h2 style="font-weight: bold;">快速导航:</h2>{% for paragraph in paragraphs %}{% if paragraph.level == "1"  %}<p><a href="#Section{{ loop.index0 }}" class="hover-link" style="font-weight: bold;">{{ paragraph.text }}</a>{% elif  paragraph.level == "2" %}<p style="text-indent: 25px;"><a href="#Section{{ loop.index0 }}" class="hover-link2" style="font-weight: bold;">{{ paragraph.text }}&#9;</a></p>{% endif %}{% endfor %}</div>{% for paragraph in paragraphs %}{% if paragraph.level  %}{% if paragraph.level == "Title" %}
<!--                                        <h2 align="center">{{ paragraph.text }}</h2>-->{% elif  paragraph.level == "1" %}</div><div class="white-box"><h{{ paragraph.level }} id="Section{{ loop.index0 }}" style="font-weight: bold;">{{ paragraph.text }}</h{{ paragraph.level }}>{% else %}<h{{ paragraph.level }} id="Section{{ loop.index0 }}">{{ paragraph.text }}</h{{ paragraph.level }}>{% endif %}{% else %}{% if paragraph.images %}<p><img src="data:image/png;base64,{{ paragraph.images }}" alt="Image"></p>{% else %}<p style="color: black;">{{ paragraph.text }}</p>{% endif %}{% endif %}{% endfor %}</div></div></div>{% endblock %}{% block list %}<style>.hover-link {font-size: 20px;}.hover-link:hover {color: red;font-size: 30px;}.hover-link2 {font-size: 15px;}.hover-link2:hover {color: red;font-size: 20px;}</style><style>/* CSS 样式,用于定义悬浮框的外观 */.floating-box {position: fixed;bottom: 20px;right: 20px;width: 80px;height: 50px;background-color: #ff9900;color: #fff;text-align: center;line-height: 50px;cursor: pointer;}</style><script>// JavaScript 代码var floatingBox = document.getElementById('floatingBox');// 点击事件监听器floatingBox.addEventListener('click', function() {window.scrollTo({ top: 0, behavior: 'smooth' });});</script>
{% endblock %}

其中添加了样式和回到顶部等小功能,方便浏览,最后的使用效果如下:

 

后记:

代码只做了docx文件的内容展示,包括文字和图片,并对等级进行了划分,没有对docx的修改功能,感兴趣的可以自己研究下 

 

 

http://www.yayakq.cn/news/30164/

相关文章:

  • 建网站做seo网络营销推广的方案
  • net网站同时支持 生成静态文件和伪静态域名查询app
  • 外贸网站建设 泰州怎么做网站加载动画
  • 济南网站排名外包小程序图片制作
  • 网站颜色网站建设预算计算方法
  • 国内的优秀网站中文网站建设制作
  • 深圳网站建设商家网店营销推广方案论文
  • 请问番禺哪里有做网站的手游网站建设的宗旨
  • 汕头网页建站模板什么网站可以自己做配图
  • 为什么自己做的网站uc打不开网站建设招聘内容
  • 怎么自己做电影网站电子商务静态网站建设心得
  • 昆明做一个公司网站多少费用关于做好全国网站建设
  • 网站开发工程论坛thinkphp做网站后台
  • node.js企业网站开发020网站建设和维护费用
  • 会网站开发想找兼职网站开发项目培训
  • 简约式网站网页版梦幻西游杨洋兑换码是多少
  • 北京外包公司 网站开发东莞网站开发哪家好
  • 手机网站制作建设wordpress 主题next
  • 新网站如何做搜索引擎收录格子铺网站建设方案
  • 给网站app做后台的公司企业vi设计公司上海设计公司
  • 苏州网站建设白石wordpress文章关键字怎么添加
  • 模仿网站 素材哪里来鞍山58同城最新招聘信息
  • 上海哪里有网站建设黑龙江省建设厅官方网站
  • 建筑公司网站源码wordpress+php调优
  • 网站默认后台登陆视频网站开发用什么服务器
  • 青岛行业网站建设电话要怎样创造网站
  • 销售型网站模板西部数码
  • 建设银行湖南省分行官方网站网站流量统计分析工具
  • php 网站开发框架phpcms旅游网站模板
  • 施工方案下载免费网站wordpress 地址栏