广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中解析和生成pdf文件
  • 182
分享到

python中解析和生成pdf文件

文件pythonpdf 2023-01-31 06:01:09 182人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

python中可以对pdf文件进行解析和生成,分别需要安装pdfminer/pdfminer3k和reportlab文件库。 一、pdf文件的解析 pdfminer安装文件路径,分别使用于Python2.0/3.0版本: https:

python中可以对pdf文件进行解析和生成,分别需要安装pdfminer/pdfminer3k和reportlab文件库。
一、pdf文件的解析
pdfminer安装文件路径,分别使用于Python2.0/3.0版本:
https://pypi.python.org/pypi/pdfminer/
Https://pypi.python.org/pypi/pdfminer3k/
参考文档位于:
http://euske.GitHub.io/pdfminer/programming.html,文档说明了各个模块之间大体的关系,不是很深入理解。而在安装源文件下的tools目录,提供了一些简单集成好的文件,如pdf2txt.py,可以使用其来解析pdf文件,生成txt文本。解析pdf变为txt最大的缺点是图片无法显示,且表格格式等都不再存在。

二、pdf文件的生成
reportlab安装文件:
https://pypi.python.org/pypi/reportlab
reprotlab使用方式的文档地址:
http://www.reportlab.com/
下载reportlab-userguide.pdf参考文档
http://www.reportlab.com/documentation/
类库实现说明
https://sourcecodebrowser.com/python-reportlab/2.5/classreportlab_1_1platypus_1_1flowables_1_1_image.html
pdf的生成类似坐标系上画图的形式,左下角为坐标系(0,0)位置,简单示例:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from reportlab.pdfgen import canvas
from reportlab.platypus.tables import Table, TableStyle
from reportlab.lib.units import inch
from reportlab.platypus import Paragraph,Frame
from reportlab.lib.pagesizes import letter, A4
from reportlab.platypus import Image as platImage
from PIL import Image
from reportlab.lib import colors
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfbase import pdfmetrics
#支持中文,需要下载相应的文泉驿中文字体
pdfmetrics.reGISterFont(TTFont('hei', 'hei.TTF'))
import testSubFun
testSubFun.testSubFunc('first')
#设置页面大小
c = canvas.Canvas('测试.pdf',pagesize=A4)
xlength,ylength = A4
print('width:%d high:%d'%(xlength,ylength))
#c.line(1,1,ylength/2,ylength)
#设置文字类型及字号
c.setFont('hei',20)
#生成一个table表格
atable = [[1,2,3,4],[5,6,7,8]]
t = Table(atable,50,20)
t.setStyle(TableStyle([('ALIGN',(0,0),(3,1),'CENTER'),
                       ('INNERGRID',(0,0),(-1,-1),0.25,colors.black),
                       ('BOX',(0,0),(-1,-1),0.25,colors.black)]))
textOb = c.beginText(1,ylength-10)
indexVlaue = 0
while(indexVlaue < ylength):
    textStr = '''test 中文写入测试中文写入测试中文写入测试中文写入测试%d'''%indexVlaue
    #print('nextline,nextline%d'%indexVlaue)
    textOb.textLine(textStr)
    indexVlaue = indexVlaue + 1
    break
c.drawText(textOb)
#简单的图片载入
imageValue = 'test.png'
c.drawImage(imageValue,97,97,300,300)
c.drawImage('test.png',50,50,50,50)
t.split(0,0)
t.drawOn(c,100,1)
c.showPage()
#换页的方式不同的showPage
c.drawString(0,0,'helloWord')
c.showPage()
c.save()

注:查询文件路径
可以通过__file__属性,查看文件目录,在相应目录下读取源文件来了解模块如何使用。
>>> import pdfminer
>>> print(pdfminer.__file__)
pdf2txt.py的简单使用方法
python pdf2txt.py -t text -o test.txt test.pdf,其中test.pdf为输入文件,test.txt为输出文件名,-t选项表示解析成的文件类型。

--结束END--

本文标题: python中解析和生成pdf文件

本文链接: https://www.lsjlt.com/news/190222.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python中解析和生成pdf文件
    python中可以对pdf文件进行解析和生成,分别需要安装pdfminer/pdfminer3k和reportlab文件库。 一、pdf文件的解析 pdfminer安装文件路径,分别使用于python2.0/3.0版本: https:...
    99+
    2023-01-31
    文件 python pdf
  • 使用Python生成pdf文件
        Python平台的优秀PDF报表类库Reportlab。它不属于Python的标准类库,所以必须手动下载类库包并安装:       yum install python-reportlab -y    这篇文章将介绍reportla...
    99+
    2023-01-31
    文件 Python pdf
  • python生成一个简单的pdf文件
    from reportlab.graphics.shapes import Drawing, Stringfrom reportlab.graphics import renderPDF d = Drawing(200, 200)s = S...
    99+
    2023-01-31
    简单 文件 python
  • C++怎么生成和解析XML文件
    这篇文章主要介绍“C++怎么生成和解析XML文件”,在日常操作中,相信很多人在C++怎么生成和解析XML文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++怎么生成和解析...
    99+
    2022-10-19
  • Python提取PDF指定内容并生成新文件
    在之前的Python办公自动化案专题中,我们已经介绍了如何有选择的提取某些页面进行合并。 但是很多时候,我们并不会预知希望提取的页号,而是希望将包含指定内容的页面提取合并为新PDF,...
    99+
    2022-11-12
  • PythonCSV文件解析和生成方法示例
    目录思路Python with CSVCSV 格式使用 Python 的 csv 库其他思路 简单的生成和读取 CSVCSV 文件格式使用 csv 库 Python with CSV...
    99+
    2022-11-11
  • Python如何提取PDF指定内容并生成新文件
    小编给大家分享一下Python如何提取PDF指定内容并生成新文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!01需求描述数据是一份有286页的上市公司公开年报P...
    99+
    2023-06-15
  • 利用python程序生成word和PDF文档的方法
    一、程序导出word文档的方法 将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob、Apache POI、Java2Word、iText等各种方式,以及使用freem...
    99+
    2022-06-04
    文档 程序 方法
  • Sphinx生成python文档示例图文解析
    目录前言环境准备结语前言 Sphinx是一款支持多种编程语言的文档生成工具,在python项目开发过程中,可以帮助开发者根据需求生成相应的说明文档,拿今天我们就基于该开源工具进行一个...
    99+
    2022-11-13
  • python生成和解析二维码
    python生成二维码,常用的模块有pyqrencode和qrcode。 一、用pyqrencode模块生成二维码 安装pyqrencode模块很复杂,依赖的东西也比较多,经过测试总结以下安装过程: 1、下载Cyth...
    99+
    2023-01-31
    二维码 python
  • Python生成图文并茂的PDF报告的方法详解
    目录安装第三方库模块导入封装不同内容对应的函数生成报告reportlab是Python的一个标准库,可以画图、画表格、编辑文字,最后可以输出PDF格式。它的逻辑和编辑一个word文档...
    99+
    2022-11-11
  • 如何在Java中利用iTextPDF生成一个PDF文件
    这篇文章主要介绍了如何在Java中利用iTextPDF生成一个PDF文件,编程网小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随编程网小编来看看吧!Java可以用来干什么Java主要应用于:1. web开发;2. Android开发...
    99+
    2023-06-06
  • Java中如何生成带有二维码的PDF文件?
    在现代社会,二维码已经成为了非常普遍的一种信息传递方式。而PDF文件也是一种非常常见的文档格式。那么,如何在Java中生成带有二维码的PDF文件呢?本文将为大家介绍一种基于iText库的方法。 iText是一个开源的Java PDF库,它...
    99+
    2023-06-24
    文件 二维码 shell
  • Python MD5文件生成码的实例分析
    Python MD5文件生成码的实例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。当前,就算是没有几百种,也有几十种可用的  MD5发行版本;显然,我不能在本文中...
    99+
    2023-06-17
  • Java中使用DOM4J生成xml文件并解析xml文件的操作
    目录一、前言二、准备依赖三、生成xml文件生成标准展示四、解析xml文件五、总结一、前言 现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有...
    99+
    2022-11-12
  • python 读取excel文件生成sql文件实例详解
    python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次。这次是为了从excel文件中读取数据然后写入到数据库中。这个逻辑用java来写的话就太重了,所以这次考...
    99+
    2022-06-04
    文件 详解 实例
  • php利用tcpdf生成签名盖章的pdf文件并支持中文
    下载tcpdf github 代码: ...
    99+
    2023-09-29
    pdf php
  • 怎么在python中解析生成器
    这篇文章给大家介绍怎么在python中解析生成器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注的是解决问题,而不是搞明白语言本身。2.面...
    99+
    2023-06-14
  • python生成器表达式和列表解析
    绝大多数情况下,遍历一个集合都是为了对元素应用某个动作或是进行筛选。如果看过本文的第二部分,你应该还记得有内建函数map和filter提供了这些功能,但Python仍然为这些操作提供了语言级的支持。 (...
    99+
    2022-06-04
    生成器 表达式 列表
  • Python 迭代器、生成器和列表解析
    迭代器 迭代器在 Python 2.2 版本中被加入, 它为类序列对象提供了一个类序列的接口。 Python 的迭代无缝地支持序列对象, 而且它还允许迭代非序列类型, 包括用户定义的对象。即迭代器可以迭代不是序列但表现出序列行为的对象, ...
    99+
    2023-01-31
    生成器 迭代 列表
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作