python-docx入門體驗001

安裝python-docx:

 pip install python-docx或者
 pip install user python-docx

如果安裝失敗可以用pycharm安裝识腿,如果有錯誤,可以根據(jù)錯誤信息提示逐步解決嗅绸。

新建一個文檔:

document=docx.Document()

保存文檔:

document.save('新建文檔.docx')

插入一個標題:

p=document.add_heading('水調(diào)歌頭·明月幾時有',level=0)
level=0表示0級標題
level=1表示1級標題
level可以取值0到9

插入一個段落:

p=document.add_paragraph("[宋] 蘇軾")

向段落追加內(nèi)容:

run=p.add_run('[宋] 蘇軾 ')

插入圖片:

document.add_picture('1.jpg', width=Inches(8))
                  width=Inches(8)設置圖片大小

設置字體名稱:

run.font.name="宋體"
run._element.rPr.rFonts.set(qn('w:eastAsia'),"宋體")
這兩個都設置字體名稱才會生效

設置字體顏色:

run.font.color.rgb=RGBColor(0,1,2)
RGBColor(0,1,2)里面有三個參數(shù),取值范圍均為0-255

設置字體大小:

run.font.size=Pt(24)

補充:獲取系統(tǒng)字體列表功能(這個需要安裝wxpython庫配椭,

安裝方法:pip install wxpython
import wx
ziti=[]
def ziti-name():
 aaa =wx.App(False)
 e = wx.FontEnumerator()
 fontList = e.GetFacenames()
 for i in fontList:
           ziti.append(i)

通過上述內(nèi)容我們可以創(chuàng)建一個如下所示的文檔:
程序打開后的界面,以及生成的word文檔內(nèi)容


圖片.png

圖片.png

源碼展示:

#創(chuàng)建并寫入word文檔
import docx
import os
import time
from random import randint
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.shared import Inches
from docx.shared import RGBColor
from  docx.shared import  Pt
from docx.oxml.ns import qn
from tkinter import *
import tkinter as tk
import wx
from wx import  FontEnumerator 
import os
#-----------------獲取系統(tǒng)字體名稱--------------------------
ziti=[]
aaa =wx.App(False)
e = wx.FontEnumerator()
fontList = e.GetFacenames()
for i in fontList:
            ziti.append(i)
#-----------------獲取系統(tǒng)字體名稱--------------------------

#---------生成word文檔功能------------------------------------    
def makedoc():
    #創(chuàng)建內(nèi)存中的word文檔對象
    file=docx.Document(docx=os.path.join(os.getcwd(), 'default.docx'))
    #寫入若干段落
    #標題需要大號字體
    p=file.add_heading('水調(diào)歌頭·明月幾時有',level=0)
    #作者名稱,需要小標題
    p=file.add_paragraph("[宋] 蘇軾")
    #備注播赁,需要灰色字體颂郎。
    p=file.add_paragraph()
    run=p.add_run('丙辰中秋,歡飲達旦容为,大醉乓序,作此篇。兼懷子由坎背。 ')
    run.bold = False
    run.font.name="hakuyoxingshu7000"
    run._element.rPr.rFonts.set(qn('w:eastAsia'), "hakuyoxingshu7000")
    run.font.size=Pt(24)
    run.font.color.rgb=RGBColor(10,20,255)
    
    #正文替劈,需要居中
    p=file.add_paragraph()
    run=p.add_run('明月幾時有,把酒問青天得滤。 ')
    run.bold = True
    run.font.name="hakuyoxingshu7000"
    run._element.rPr.rFonts.set(qn('w:eastAsia'), "hakuyoxingshu7000")
    run.font.size=Pt(24)
    

    p=file.add_paragraph()
    run=p.add_run('不知天上宮闕陨献,今夕是何年? ')
    run.bold = True
    run.font.name="hakuyoxingshu7000"
    run._element.rPr.rFonts.set(qn('w:eastAsia'), "hakuyoxingshu7000")
    run.font.size=Pt(24)

    p=file.add_paragraph()
    run=p.add_run('實我欲乘風歸去懂更,又恐瓊樓玉宇眨业,')
    run.bold = True
    run.font.name="hakuyoxingshu7000"
    run._element.rPr.rFonts.set(qn('w:eastAsia'), "hakuyoxingshu7000")
    run.font.size=Pt(24)
    
    p=file.add_paragraph()
    run=p.add_run('高處不勝寒。 ')
    run.bold = True
    run.font.name="hakuyoxingshu7000"
    run._element.rPr.rFonts.set(qn('w:eastAsia'), "hakuyoxingshu7000")
    run.font.size=Pt(24)
    
    p=file.add_paragraph()
    run=p.add_run('起舞弄清影沮协,何似在人間龄捡!')
    run.bold = True
    run.font.name="hakuyoxingshu7000"
    run._element.rPr.rFonts.set(qn('w:eastAsia'), "hakuyoxingshu7000")
    run.font.size=Pt(24)

    p=file.add_paragraph()
    #空白
    p=file.add_paragraph(' ')
    run=p.add_run('轉(zhuǎn)朱閣,低綺戶慷暂,照無眠聘殖。 ')
    run.bold = True
    run.font.name="hakuyoxingshu7000"
    run._element.rPr.rFonts.set(qn('w:eastAsia'), "hakuyoxingshu7000")
    run.font.size=Pt(24)

    p=file.add_paragraph()
    run=p.add_run('不應有恨,何事長向別時圓行瑞?')
    run.bold = True
    run.font.name="hakuyoxingshu7000"
    run._element.rPr.rFonts.set(qn('w:eastAsia'), "hakuyoxingshu7000")
    run.font.size=Pt(24)
    
    p=file.add_paragraph()
    run=p.add_run('不人有悲歡離合奸腺,月有陰晴圓缺, ')
    run.bold = True
    run.font.name="hakuyoxingshu7000"
    run._element.rPr.rFonts.set(qn('w:eastAsia'), "hakuyoxingshu7000")
    run.font.size=Pt(24)
    
    run=p.add_run('不此事古難全血久。 ')
    run.bold = True
    run.font.name="hakuyoxingshu7000"
    run._element.rPr.rFonts.set(qn('w:eastAsia'), "hakuyoxingshu7000")
    run.font.size=Pt(24)
    
    p=file.add_paragraph()
    run=p.add_run('不但愿人長久突照,千里共嬋娟。 ')
    run.bold = True
    run.font.name="hakuyoxingshu7000"
    run._element.rPr.rFonts.set(qn('w:eastAsia'), "hakuyoxingshu7000")
    run.font.size=Pt(24)
    #保存
    #p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
    #文本顏色
    p=file.add_paragraph()
    for i in range(0,len(ziti)):
        color=(randint(0,255) for _ in range(3))
        run=p.add_run('人有悲歡離合氧吐,月有陰晴圓缺讹蘑, \n')
        run.bold = True
        run.font.name=ziti[i]
        run.font.size=Pt(24)
        run._element.rPr.rFonts.set(qn('w:eastAsia'), ziti[i])
        run.font.color.rgb=RGBColor(*color)
    file.add_picture('1.jpg', width=Inches(8))
    name=str(time.strftime('%Y%m%d%H%M%S'))+"文檔.docx"
    file.save(name)
    if var.get()==1:
        os.startfile(name)
    else:
        pass
#---------生成word文檔功能------------------------------------    

#--------創(chuàng)建一個窗體程序,用于點擊按鈕來生成docx文檔------------
root=Tk()
#創(chuàng)建一個窗體程序
#窗體標題
root.title("word文檔生成工具副砍,請?zhí)崆鞍褕D片上傳至圖片文件夾")
#窗體大小
root.geometry('450x100')
#用于判斷復選框是否被選中
var=tk.IntVar()
#復選框
condition=Checkbutton(root, text="生成文檔后確定是否打開文檔", variable=var)
condition.grid(row=0,column=1,pady=10)
#按鈕
button=Button(root,width=30,text='點擊開始生成',height=3,command=makedoc)
button.grid(row=0,column=0,pady=10,padx=10)
mainloop()
#--------創(chuàng)建一個窗體程序衔肢,用于點擊按鈕來生成docx文檔------------

本內(nèi)容將持續(xù)更新,敬請期待豁翎。角骤。。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末邦尊,一起剝皮案震驚了整個濱河市背桐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蝉揍,老刑警劉巖链峭,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異又沾,居然都是意外死亡弊仪,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門杖刷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來励饵,“玉大人,你說我怎么就攤上這事滑燃∫厶” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵表窘,是天一觀的道長典予。 經(jīng)常有香客問我,道長乐严,這世上最難降的妖魔是什么瘤袖? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮麦备,結(jié)果婚禮上孽椰,老公的妹妹穿的比我還像新娘昭娩。我一直安慰自己凛篙,他們只是感情好,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布栏渺。 她就那樣靜靜地躺著呛梆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪磕诊。 梳的紋絲不亂的頭發(fā)上填物,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音霎终,去河邊找鬼滞磺。 笑死,一個胖子當著我的面吹牛莱褒,可吹牛的內(nèi)容都是我干的击困。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼广凸,長吁一口氣:“原來是場噩夢啊……” “哼阅茶!你這毒婦竟也來了蛛枚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤脸哀,失蹤者是張志新(化名)和其女友劉穎蹦浦,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體撞蜂,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡盲镶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蝌诡。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徒河。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖送漠,靈堂內(nèi)的尸體忽然破棺而出顽照,到底是詐尸還是另有隱情,我是刑警寧澤闽寡,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布代兵,位于F島的核電站,受9級特大地震影響爷狈,放射性物質(zhì)發(fā)生泄漏植影。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一涎永、第九天 我趴在偏房一處隱蔽的房頂上張望思币。 院中可真熱鬧,春花似錦羡微、人聲如沸谷饿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽博投。三九已至,卻和暖如春盯蝴,著一層夾襖步出監(jiān)牢的瞬間毅哗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工捧挺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留虑绵,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓闽烙,卻偏偏與公主長得像翅睛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容