python-pdf和word操作

1、安装PyPDF2

pip install PyPDF2

2、导入PyPDF2

import PyPDF2

3、读取pdf文本

代码如下:

import PyPDF2

pdfFileObj=open('meetingminutes.pdf','rb')

pdfReader=PyPDF2.PdfFileReader(pdfFileObj) #读取pdf文档

pdfReader.numPages

pageObj=pdfReader.getPage(0)

pageObj.extractText()         #返回文本中的字符串

4、解密pdf decrypt()

代码如下:

import PyPDF2

pdfReader=PyPDF2.PdfFileReader(open('encrypted.pdf','rb'))

pdfReader.isEncrypted

pdfReader.getPage(0)

pdfReader.decrypt('rosebud') #使用rosebud口令解密

pageObj=pdfReader.getPage(0)

5、拷贝页面

1)打开一个或多个已有的PDF,得到PdfFileReader对象

2)打开一个新的PdfFileWriter对象

3)将页面从PdfFileReader对象拷贝到PdfFileWriter对象中

4)使用PdfFileWriter对象写入输出的PDF

代码如下:

import PyPDF2

pdf1File=open('meetingminutes.pdf','rb')

pdf2File=open('meetingminutes2.pdf','rb')

pdf1Reader=PyPDF2.PdfFileReader(pdf1File)

pdf2Reader=PyPDF2.PdfFileReader(pdf2File)

pdfWriter=PyPDF2.PdfWriter()

for pageNum in range(pdf1Reader.numPages):

        pageObj=pdf1Reader.getPage(pageNum)

        pdfWriter.addPage(pageObj)

for pageNum in ranger(pdf2Reader.numPages):

        pageObj=pdf2Reader.getPage(pageNum)

        pdfWriter.addPage(pageObj)

pdfOutputFile=open('combinedminutes.pdf','wb')

pdfWriter.write(pdfOutputFile)

pdfOutputFile.close()

pdf1File.close()

pdf2File.close()

6、旋转页面

rotateClockwise():        

rotateCounterClockwise():   

代码如下:

import PyPDF2

minutesFile=open('meetingminutes.pdf','rb')

pdfReader=PyPDF2.PdfFileReader(minutesFile)

page=pdfReader.getPage(0)

page.rotateClockwise(90)

pdfWriter=PyPDF2.PdfFileWriter()

pdfWriter.addPage(page)

resultPdfFile=open('rotatePage.pdf','wb')

pdfWriter.write(resultPdfFile)

resultPdfFile.close()

minutesFile.close()

7、叠加页面        mergePage()函数

代码如下:

import PyPDF2

minutesFile=open('meetingminutes.pdf','rb')

pdfReader=PyPDF2.PdfFileReader(minutesFile)

minutesFirstPage=pdfReader.getPage(0)

pdfWatermarkReader=PyPDF2.PdfFileReader(open('watermark.pdf','rb'))

minutesFirstPage.mergePage(pdfWatermarkReader.getPage(0))        #叠加页面

pdfWriter=PyPDF2.PdfFileWriter()

pdfWriter.addPage(minutesFirstPage)

for pageNum in range(1,pdfReader.numPages): 

        pageObj=pdfReader.getPage(pageNum)

        pdfWriter.addPage(pageObj)

resultPdfFile=open('watermarkedCover.pdf','wb')

pdfWriter.write(resultPdfFile)

minutesFile.close()

resultPdfFile.close()

8、加密文件        encrypt()函数

代码如下:

import PyPDF2

pdfFile=open('meetingminutes.pdf','rb')

pdfReader=PyPDF2.PdfFileReader(pdfFile)

pdfWriter=PyPDF2.PdfFileWriter()

for pageNum in range(pdfReader.numPages):

        pdfWriter.addPage(pdfReader.getPage(pageNum))

pdfWriter.encrypt('swordfish')        #使用口令swordfish加密

resultPdf=open('encryptedminutes.pdf','wb')

pdfWriter.write(resultPdf)

resultPdf.close()

9、安装python-docx模块

pip install python-docx

10、读取word文档

import docx

doc=docx.Document('demo.docx')

len(doc.paragraphs)

doc.paragraphs[0].text

doc.paragraphs[1].runs[0].text

对象属性关系:Document>Paragraph>run>text

11、设置Run属性

Run对象的text属性:

bold                粗体

italic                斜体

underline        下划线

strike                删除线

double_strike        双删除线

all_caps                大写首字母

small_caps        大写首字母,小写字母小两磅

shadow                带阴影

outline                轮廓线

rtl                        从右至左竖线

imprint                刻入页面

emboss                凸出页面

代码如下:

import docx

doc=docx.Document('demo.docx')

doc.paragraphs[0].text

doc.paragraphs[0].style='Normal'

doc.paragraphs[1].runs[0].style='QuoteChar'

doc.paragraphs[1].runs[1].underline=True

doc.paragraphs[1].runs[3].underline=True

doc.save('restyled.docx')

12、写入word文档

import docx

doc=docx.Document()

doc.add_paragraph('Hello world!')        #添加内容

doc.save('helloworld.docx')

在已有段落的末尾添加文本,使用add_run()方法:

import docx

doc=docx.Document()

doc.add_paragraph('Hello World!')

paraObj1=doc.add_paragraph('This is a second paragraph.')

paraObj2=doc.add_paragraph('This is a yet another paragraph.')

paraObj1.add_run('This text is being added to the second paragraph.')

doc.save('multipleParagraphs.docx')

13、添加标题        add_heading()

doc=docx.Document()

doc.add_heading('Header 0',0)

14、添加换行符和换页符        add_break()函数

doc=docx.Document()

doc.add_paragraph('This is on the first page!')

doc.paragraphs[0].runs[0].add_break(docx.text.WD_BREAK.PAGE)

doc.add_paragraph('This is on the second page!')

doc.save('twoPage.docx')

15、添加图像        add_picture()函数

doc.add_picture('zophie.png',width=docx.shared.Inches(1),height=docx.shared.Cm(4))

获取宽度:docx.shared.Inches()

获取高度:docx.shared.Cm()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值