怎么用python将word转成html
#coding=utf-8 #文件名: #BatchConverWords2Html.py #说明: #批量将一个文件夹下的所有.doc/.docx文件转为.html文件,需要安装对应的win32模块 #调用方式:进入源程序目录,命令:python BatchConverWords2Html.py RootDir from win32com import client as wc import os word = wc.Dispatch('Word.Application') def wordsToHtml(dir): for path, subdirs, files in os.walk(dir): for wordFile in files: wordFullName = os.path.join(path, wordFile) #print "word:" + wordFullName doc = word.Documents.Open(wordFullName) wordFile2 = unicode(wordFile, "gbk") dotIndex = wordFile2.rfind(".") if(dotIndex == -1): print "********************ERROR: 未取得后缀名!" fileSuffix = wordFile2[(dotIndex + 1) : ] if(fileSuffix == "doc" or fileSuffix == "docx"): fileName = wordFile2[ : dotIndex] htmlName = fileName + ".html" htmlFullName = os.path.join(unicode(path, "gbk"), htmlName) #htmlFullName = unicode(path, "gbk") + "\\" + htmlName print "generate html:" + htmlFullName doc.SaveAs(htmlFullName, 10) doc.Close() word.Quit() print "" print "Finished!" if __name__ == '__main__': import sys if len(sys.argv) != 2: print "Usage: python funcName.py rootdir" sys.exit(100) wordsToHtml(sys.argv[1])运行结果就是在rootdir目录下的所有word文档转为简洁版的html网页文件,生成的文件存在原word同目录下,生成 xxx.files 文件夹。
如何用Python做HTML的页面
可获取码列表:123456123457123458123459123460123461其中所有liscode是从一个txt文档上提取的,当用户点击获取一个的时候,该项即被删除。
如何用python实现呢?做一个py脚本或exe给用户实现的话大概像下面这样:Python codeinfile = open('codelist.txt','r') codelist = infile.readlines() used_code = codelist[0] #remove用掉的code(删除行) codelist.remove(codelist[0]) infile.close() #重写文件(我不知道是否有能直接删除一行的文件操作方法) outfile = open('codelist.txt','w') for code in codelist: outfile.write(code + '\n') outfile.close() print used_code
python 有没有将 html 文件转换为 pdf 的库
text = ',本地文件,文本内容到PDF的转换,其最终还是调用wkhtmltopdf命令.add_table(rows=1,cols=1,以及使用freemarker这样的模板引擎这样的方式。
php中也有一些相应的方法,但在python中将web/html内容生成world文档的方法是很少的、Apache POI、Java2Word、iText等各种方式。
使用方法:1.获取网页中的数据, level=1)document,支持URL;, 0)p = document.add_paragraph(')from docx import Documentfrom docx!w = float(row) /first item in ordered list';ListNumber')document.add_picture('程序导出word文档的方法将web/html内容导出为world文档,style = 'Table Grid'.add_heading('Document Title' and some ')p。
是目前接触到的python生成pdf效果较好的, style=', width=Inches(1.25))table = document,包括Chrome和Safari在内的浏览器都使用了这个内核;ListBullet')document.add_paragraph(',是无法将这些图片转换到word文档中;3.生成的word文档内容格式不容易控制。
优点:1.wkhtmltopdf:利用webkit内核将HTML转为PDFwebkit是一个高效、开源的浏览器内核; 2.0t,比如使用Jacob。
转换效果也不错.odtunoconv -f html *.odt缺点:1.只能对静态html进行转换,对于页面中有使用ajax异步获取数据的地方也不能转换(主要是要保证从web页面保存下来的html文件中有数据)。
2.只能对html进行转换,如果页面中有使用echarts,highcharts等js代码生成的图片.pdfkit功能:1.wkhtmltopdf主要用于HTML生成PDF.id)row_cells[2];test.html'.text = item;, 'out.pdf')pdfkit.from_file('Desc'for item in recordset:row_cells = table.add_row().cellsrow_cells[0].text = str(item.qty)row_cells[1]。
其中最不好解决的就是如何将使用js代码异步获取填充的数据,图片导出到word文档中;IntenseQuote')document.add_paragraph('Id'hdr_cells[2];first item in unordered list'。
1.docx')缺点:1.功能非常弱。
有很多限制比如不支持模板等,只能生成简单格式的word文档。
程序导出PDF文档方法1,使用python手动排版添加到word文档中。
from docx import Documentfrom docx.columns[0].width = Inches(w)document.save('table-step.text = str(item;monty-truth;)t.autofit = False #很重要.save('.png', level 1'.descdocument.add_page_break()document. unoconv功能:1.支持将本地html文档转换为docx格式的文档,所以需要先将网页中的html文件保存到本地,再调用unoconv进行转换;# 安装pip install pdfkit\# 使用import pdfkitpdfkit.from_url(''demo.docx',使用方法非常简单。
\.add_run('bold'A plain paragraph having some ')p.bold = Truep.add_run('),且使用非常简单。
使用方法:\, style=', style='# 安装sudo apt-get install unoconv\# 使用unoconv -f pdf *.').italic = Truedocument.add_heading(', 'out.pdf')pdfkit.from_string('Hello!', 'out.pdf')缺点:1.对使用echarts,highcharts这样的js代码生成的图标无法转换为pdf(因为它的功能主要是将html转换为pdf,而不是将js转换为pdf)。
对于纯静态页面的转换效果还是不错的。
2.其他其他生成pdf的插件还有:weasyprint,reportlab,PyPDF2等,经简单试验都不如pdfkit效果好,且有些用法复杂。
.odtunoconv -f doc *;Heading.text = '.shared import Inchesdocument = Document()for row in range(9):t = document.pdfkit是基于wkhtmltopdf的python封装。
2. python-docx功能:1.python-docx是一个可以读写word文档的python库,其中有一个选项就是直接“保存为 PDF”。
2.wkhtmltopdf使用webkit内核的PDF渲染引擎来将HTML页面转换为PDF。
高保真,转换质量很好。
2.shared import Inchesdocument = Document()document.add_run('italic。
Chrome打印当前网页的功能.add_paragraph('Intense quote'.add_table(rows=1, cols=3)hdr_cells = table.rows[0].cellshdr_cells[0].text = 'Qty'hdr_cells[1],再java中有很多解决方案
python输出word内容
程序导出word文档的方法 将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob、Apache POI、Java2Word、iText等各种方式,以及使用freemarker这样的模板引擎这样的方式。
php中也有一些相应的方法,但在python中将web/html内容生成world文档的方法是很少的。
其中最不好解决的就是如何将使用js代码异步获取填充的数据,图片导出到word文档中。
1. unoconv 功能:1.支持将本地html文档转换为docx格式的文档,所以需要先将网页中的html文件保存到本地,再调用unoconv进行转换。
转换效果也不错,使用方法非常简单。
\# 安装 sudo apt-get install unoconv \# 使用 unoconv -f pdf *.odt unoconv -f doc *.odt unoconv -f html *.odt 缺点:1.只能对静态html进行转换,对于页面中有使用ajax异步获取数据的地方也不能转换(主要是要保证从web页面保存下来的html文件中有数据)。
2.只能对html进行转换,如果页面中有使用echarts,highcharts等js代码生成的图片,是无法将这些图片转换到word文档中;3.生成的word文档内容格式不容易控制。
2. python-docx 功能:1.python-docx是一个可以读写word文档的python库。
使用方法:1.获取网页中的数据,使用python手动排版添加到word文档中。
from docx import Document from docx.shared import Inches document = Document() document.add_heading('Document Title', 0) p = document.add_paragraph('A plain paragraph having some ') p.add_run('bold').bold = True p.add_run(' and some ') p.add_run('italic.').italic = True document.add_heading('Heading, level 1', level=1) document.add_paragraph('Intense quote', style='IntenseQuote') document.add_paragraph('first item in unordered list', style='ListBullet') document.add_paragraph('first item in ordered list', style='ListNumber') document.add_picture('monty-truth.png', width=Inches(1.25)) table = document.add_table(rows=1, cols=3) hdr_cells = table.rows[0].cells hdr_cells[0].text = 'Qty' hdr_cells[1].text = 'Id' hdr_cells[2].text = 'Desc' for item in recordset:row_cells = table.add_row().cells row_cells[0].text = str(item.qty) row_cells[1].text = str(item.id) row_cells[2].text = item.desc document.add_page_break() document.save('demo.docx') from docx import Document from docx.shared import Inches document = Document() for row in range(9):t = document.add_table(rows=1,cols=1,style = 'Table Grid') t.autofit = False #很重要!w = float(row) / 2.0 t.columns[0].width = Inches(w) document.save('table-step.docx') 缺点:1.功能非常弱。
有很多限制比如不支持模板等,只能生成简单格式的word文档。
程序导出PDF文档方法1.pdfkit 功能:1.wkhtmltopdf主要用于HTML生成PDF。
2.pdfkit是基于wkhtmltopdf的python封装,支持URL,本地文件,文本内容到PDF的转换,其最终还是调用wkhtmltopdf命令。
是目前接触到的python生成pdf效果较好的。
优点:1.wkhtmltopdf:利用webkit内核将HTML转为PDF webkit是一个高效、开源的浏览器内核,包括Chrome和Safari在内的浏览器都使用了这个内核。
Chrome打印当前网页的功能,其中有一个选项就是直接“保存为 PDF”。
2.wkhtmltopdf使用webkit内核的PDF渲染引擎来将HTML页面转换为PDF。
高保真,转换质量很好,且使用非常简单。
使用方法:\# 安装 pip install pdfkit \# 使用 import pdfkit pdfkit.from_url('', 'out.pdf') pdfkit.from_file('test.html', 'out.pdf') pdfkit.from_string('Hello!', 'out.pdf') 缺点:1.对使用echarts,highcharts这样的js代码生成的图标无法转换为pdf(因为它的功能主要是将html转换为pdf,而不是将js转换为pdf)。
对于纯静态页面的转换效果还是不错的。
2.其他 其他生成pdf的插件还有:weasyprint,reportlab,PyPDF2等,经简单试验都不如pdfkit效果好,且有些用法复杂。
python读耶html文件内容
现要实现python制作html格式的表格,利用Python对字符串str.format()格式化操作进行处理,在日常对CVS格式文件处理过程当中,经常会将CVS格式文件进行转换,在正式场合是程序读取CVS文件进行转换并输出到html格式的文件当中,但现在只是实现一下转换的过程,需要输入以逗号分隔的数据。
在设计程式的时候,需要先定义一下整个代码的框架,首先我们要定义一个主函数main(),虽然Python没有规定入口函数,一般在正式的开发中都设计了一个main()函数作为程序的入口函数,或许这是一种规范吧。
然后我们在定义一个打印表头的方法print_head(),并在主函数里进行调用。
再定义一个打印表尾的方法print_end(),也在主函数中进行调用。
定义print_line()为打印表格行,定义extract_field()处理cvs行数据转换为list集合数据。
最后再定义一个处理特殊符号的方法escape_html(),因为在html代码中为了避免与它的标签冲突,特要进行特殊符号的转换,如&-->& 还有就是对长度过长的数据要进行处理并用...代替 源代码: #Author Tandaly #Date 2013-04-09 #File Csv2html.py #主函数 def main(): print_head() maxWidth = 100 count = 0 while True: try: line = str(input()) if count == 0: color = "lightgreen" elif count%2 == 0: color = "white" else: color = "lightyellow" print_line(line, color, maxWidth) count += 1 except EOFError: break print_end() #打印表格头 def print_head(): print("") #打印表行 def print_line(line, color, maxWidth): tr = "".format(color) tds = "" if line is not None and len(line) > 0: fields = axtract_fields(line) for filed in fields: td = "{0}".format(filed if (len(str(filed)) 0: fields.append(field) return fields #处理特殊符号 def escape_html(text): text = text.replace("&", "&") text = text.replace(">", ">") text = text.replace(">> "nihao","wo" nihaowo "lsddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddsfdddddddddddddddddddddddssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooosdjfsldkfjsladjfsladjflasjdfljslkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkksssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss","tandaly" lsdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd...tandaly "ddddddddddddddddsllsflsdjflsdjfljasfjslfjleiwiwooooooooooosdlsdfkckslslllllwllllllllllllllllllllllllllllllllllllllllllllllllllllllgfdjslfjsdlkkkkkkkkkkksdfssssssssssssss", 34 ddddddddddddddddsllsflsdjflsdjfljasfjslfjleiwiwooooooooooosdlsdfkckslslllllwllllllllllllllllllllllll...34
转载请注明出处51数据库 » python html to word