python将pdf转成图片,python如何将pdf转化为excel

  python将pdf转成图片,python如何将pdf转化为excel

  很多时候,我们需要来回转换文档的形式。那么对于学过编程的人来说,如何用Python把pdf转换成word呢?

  一、下载所需要的库

  

  1.pdfminer安装库命令

  pip安装pdfminer3k

  Pdfminer3k是Pdfminer的Python 3端口。PDFMiner是一个从PDF文档中提取信息的工具。与其他PDF相关工具不同,它完全专注于获取和分析文本数据。PDFMiner允许您获取文本在页面中的确切位置,以及其他信息,如

  字体或线条.包含一个PDF转换器,可以将PDF文件转换成其他文本格式(如HTML)。它有一个可扩展的PDF解析器,可以用于文本分析之外的其他目的。

  2.docx安装库命令

  pip安装python_docx

  Python DocX目前是Python OpenXML的一部分。您可以使用它在Word 2007和更高版本中打开文档,而使用它存储的文档可以在Microsoft Office 2007/2010、Microsoft Mac Office 2008、Google Docs、OpenOffice.org 3和Apple iWork 08中打开。

  二、代码

  

  注意:pdf中非图片构成的部分才

  能被成功转换

  

1#-*- coding: UTF-8 -*-

   2#!/usr/bin/python

   3# -*- coding: utf-8 -*-

   4

   5import sys

   6import importlib

   7importlib.reload(sys)

   8

   9from pdfminer.pdfparser import PDFParser,PDFDocument

  10from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter

  11from pdfminer.converter import PDFPageAggregator

  12from pdfminer.layout import *

  13from pdfminer.pdfinterp import PDFTextExtractionNotAllowed

  14import os

  15

  16#设置工作目录文件夹

  17os.chdir(r'c:/users/dicey/desktop/codes/pdf-docx')

  18

  19'''

  20解析pdf文件,获取文件中包含的各种对象

  21'''

  22# 解析pdf文件函数

  23def parse(pdf_path):

  24 fp = open('diya.pdf', 'rb') # 以二进制读模式打开

  25 # 用文件对象来创建一个pdf文档分析器

  26 parser = PDFParser(fp)

  27 # 创建一个PDF文档

  28 doc = PDFDocument()

  29 # 连接分析器 与文档对象

  30 parser.set_document(doc)

  31 doc.set_parser(parser)

  32

  33 # 提供初始化密码

  34 # 如果没有密码 就创建一个空的字符串

  35 doc.initialize()

  36

  37 # 检测文档是否提供txt转换,不提供就忽略

  38 if not doc.is_extractable:

  39 raise PDFTextExtractionNotAllowed

  40 else:

  41 # 创建PDf 资源管理器 来管理共享资源

  42 rsrcmgr = PDFResourceManager()

  43 # 创建一个PDF设备对象

  44 laparams = LAParams()

  45 device = PDFPageAggregator(rsrcmgr, laparams=laparams)

  46 # 创建一个PDF解释器对象

  47 interpreter = PDFPageInterpreter(rsrcmgr, device)

  48

  49 # 用来计数页面,图片,曲线,figure,水平文本框等对象的数量

  50 num_page, num_image, num_curve, num_figure, num_TextBoxHorizontal = 0, 0, 0, 0, 0

  51

  52 # 循环遍历列表,每次处理一个page的内容

  53 for page in doc.get_pages(): # doc.get_pages() 获取page列表

  54 num_page += 1 # 页面增一

  55 interpreter.process_page(page)

  56 # 接受该页面的LTPage对象

  57 layout = device.get_result()

  58 for x in layout:

  59 if isinstance(x,LTImage): # 图片对象

  60 num_image += 1

  61 if isinstance(x,LTCurve): # 曲线对象

  62 num_curve += 1

  63 if isinstance(x,LTFigure): # figure对象

  64 num_figure += 1

  65 if isinstance(x, LTTextBoxHorizontal): # 获取文本内容

  66 num_TextBoxHorizontal += 1 # 水平文本框对象增一

  67 # 保存文本内容

  68 with open(r'test2.doc', 'a',encoding='utf-8') as f: #生成doc文件的文件名及路径

  69 results = x.get_text()

  70 f.write(results)

  71 f.write('\n')

  72 print('对象数量:\n','页面数:%s\n'%num_page,'图片数:%s\n'%num_image,'曲线数:%s\n'%num_curve,'水平文本框:%s\n'

  73 %num_TextBoxHorizontal)

  74

  75

  76if __name__ == '__main__':

  77 pdf_path = r'diya.pdf' #pdf文件路径及文件名

  78 parse(pdf_path)

  

学会了的小伙伴赶紧行动起来~更多Python学习推荐:PyThon学习网教学中心

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • python将字符串转换成日期,python 字符串转换为日期
  • python将字符串转换成日期,python 字符串转换为日期,Python如何将字符串转换为日期
  • python将字符串转换为数字型,python中数字字符和数字值有何不同,如何转换
  • python将两个一维数组转化为二维数组,matlab把二维数组转为三维数组
  • python将文本转为数组,python读取txt文件为数组
  • python将一个正整数分解成质因数,用python分解质因数
  • python单位转换编程英寸厘米,python将8厘米转换为以英寸为单位的长度并输出
  • python将列表中指定元素修改,python 替换列表中的元素
  • Python将字符串分割,python中把字符串分割成单个字符
  • python将数字转换为日期,python excel写入日期变数字
  • Python读取文件名写入Excel,python将结果写入excel文件
  • 用python将字符串进行反转,python中字符串反转函数
  • python 数字类型和字符串类型的相互转换,python将字符串类型转换为数字
  • Python读取文件名写入Excel,python将数据写入excel指定单元格
  • python中将字符串转化为数字,Python将字符串转为数字
  • 留言与评论(共有 条评论)
       
    验证码: