iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python pdf
  • 494
分享到

python pdf

pythonpdf 2023-01-31 03:01:55 494人浏览 八月长安

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

摘要

# 从pdf中读取文本 # 写pdf # 加密解密pdf # 和平pdf,加水印 # pip install PyPDF2 %cd D:\python全站\office import PyPDF2 D:\Python全站\office pd

# 从pdf中读取文本
# 写pdf
# 加密解密pdf
# 和平pdf,加水印
# pip install PyPDF2
%cd D:\python全站\office
import PyPDF2
D:\Python全站\office
pdf_obj = open('coop.pdf', 'rb')
pdf = PyPDF2.PdfFileReader(pdf_obj)
pdf.numPages
3
page = pdf.getPage(0)
page.extractText()  # 提取文件
'\n\n \n \n1\\\n1\nN¥\n \nde8ug Word\n \nde8ug word\n \nde8ug word\n \nde8ug word\n \n\n\n \n \n\n \nde8ug word\n \nde8ug word\n \nde8ug word\n \nde8ug word\n \n \n\n\n \n \n\n \nde8ug word\n \nde8ug word\n \nde8ug word\n \nde8ug word\n \n \n'
# 提取中文 pip install pdfminer3k  #支持中文
from pdfminer.pdfinterp import PDFResourceManager, process_pdf # 资源管理
from pdfminer.converter import TextConverter  # 文本转换
from pdfminer.layout import LAParams #布局
from io import StringIO  # 生成临时文件

def convert_pdf(path):
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    laparams = LAParams()
    device = TextConverter(rsrcmgr, retstr, laparams = laparams)
    fp = open(path, 'rb')
    process_pdf(rsrcmgr, device, fp)
    fp.close()
    device.close()
    out = retstr.getvalue()
    retstr.close()
    return out
s = convert_pdf('coop.pdf')
# print(s)
# convert_pdf('coop.pdf')
s.split('\n\x0c')
['测试语句 \n\n第 1 页 \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\n测试语句 \n\n第一页 \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\n测试语句 \n\n第一页 \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\n \n \n \n \n ',
 '测试语句 \n\n第 2 页 \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\n \n \n \n \n ',
 'de8ug word \n\n测试语句 \n\n第 3 页 \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\nde8ug word \n\n \n \n ',
 '']
# 写pdf,从上文打开的pdf找出第二页,新鞋一个pdf
pdf_writer = PyPDF2.PdfFileWriter()
page = pdf.getPage(1)
pdf_writer.addPage(page)
with open('coop-1.pdf', 'wb') as f:
    pdf_writer.write(f)
pdf_obj.close()
# 加密pdf
with open('coop.pdf', 'rb') as f_in:
    pdf = PyPDF2.PdfFileReader(f_in)
    pdf_writer = PyPDF2.PdfFileWriter()
    for page_num in range(pdf.numPages):
        pdf_writer.addPage(pdf.getPage(page_num))
    pdf_writer.encrypt('hicoop')
    with open('coop-s.pdf', 'wb') as f_out:
        pdf_writer.write(f_out)
# 解密
with open('coop-s.pdf', 'rb') as f_in:
    pdf = PyPDF2.PdfFileReader(f_in)
    print(pdf.isEncrypted)
    pdf.decrypt('hicoop')
    pdf.getPage(0) #取到解密后的数据才能正常操作
True
# 合并多个pdf,加水印
with open('coop.pdf', 'rb') as f_in:
    with open('coop-watermarked.pdf', 'rb') as f_w:
        pdf = PyPDF2.PdfFileReader(f_in)
        pdf_w = PyPDF2.PdfFileReader(f_w)

        pdf_write = PyPDF2.PdfFileWriter()
        for page_num in range(pdf.numPages):
            page = pdf.getPage(page_num)
            page.mergePage(pdf_w.getPage(0))
            pdf_write.addPage(page)
        with open('coop-watermarked.pdf', 'wb') as f_out:
            pdf_write.write(f_out)
---------------------------------------------------------------------------

OSError                                   Traceback (most recent call last)

<ipython-input-39-b87325251ec9> in <module>()
      3     with open('coop-watermarked.pdf', 'rb') as f_w:
      4         pdf = PyPDF2.PdfFileReader(f_in)
----> 5         pdf_w = PyPDF2.PdfFileReader(f_w)
      6 
      7         pdf_write = PyPDF2.PdfFileWriter()

c:\users\coop\miniconda3\envs\coop\lib\site-packages\PyPDF2\pdf.py in __init__(self, stream, strict, warndest, overwriteWarnings)
   1082             stream = BytesIO(b_(fileobj.read()))
   1083             fileobj.close()
-> 1084         self.read(stream)
   1085         self.stream = stream
   1086 

c:\users\coop\miniconda3\envs\coop\lib\site-packages\PyPDF2\pdf.py in read(self, stream)
   1687         if debug: print(">>read", stream)
   1688         # start at the end:
-> 1689         stream.seek(-1, 2)
   1690         if not stream.tell():
   1691             raise utils.PdfReadError('Cannot read an empty file')

OSError: [Errno 22] Invalid argument

--结束END--

本文标题: python pdf

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

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

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

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

下载Word文档
猜你喜欢
  • python pdf
    # 从pdf中读取文本 # 写pdf # 加密解密pdf # 和平pdf,加水印 # pip install PyPDF2 %cd D:\python全站\office import PyPDF2 D:\python全站\office pd...
    99+
    2023-01-31
    python pdf
  • python 图片转 pdf
    import osimport sysfrom reportlab.lib.pagesizes import A4, landscapefrom reportlab.pdfgen import canvas'''遍历当前目录下所有的jpg文...
    99+
    2023-01-31
    图片 python pdf
  • python将HTML转PDF
    使用python讲网页转PDF。 想学习python某个模块,但是官网并不提供PDF版本,只有在线的网页说明文档,于是想将这些网页都下载下来然后转成pdf保存。 这里主要用到pdfkit包,前提是电脑安装了wkhtmltox软件...
    99+
    2023-01-31
    python HTML PDF
  • Python 操作pdf pdfplumber读取PDF写入Excel
    目录1. Python 操作pdf(pdfplumber读取PDF写入Excel1.1 安装pdfplumber模块库1.2 常用操作1.2.1 Python读取pdf文件案例1.2...
    99+
    2024-04-02
  • python 创建PDF文件
    1.安装reportlab库 http://www.reportlab.com/ftp/ ubuntu可以直接 apt-get install python-reportlab 2.实验   >>> from report...
    99+
    2023-01-31
    文件 python PDF
  • Python添加pdf水印
    0、用到两个扩展模块:ReportLab、PyPDF2。1、创建水印PDF。1)、创建文字水印pdf文件代码:#encoding=utf-8 #author: walker #date: 2014-03-17 #function: 创建文字...
    99+
    2023-01-31
    水印 Python pdf
  • Python读取PDF内容
    1,引言晚上翻看《Python网络数据采集》这本书,看到读取PDF内容的代码,想起来前几天集搜客刚刚发布了一个抓取网页pdf内容的抓取规则,这个规则能够把pdf内容当成html来做网页抓取。神奇之处要归功于Firefox解析PDF的能力,能...
    99+
    2023-01-31
    内容 Python PDF
  • Python实现pdf转word
    一、实验目标 通过利用python中的pyinstaller库和PySimpleGUI库,实现将pdf转为word的实际功能。 二、实验准备 安装pdf2docx库 pip install pdf2docx 安装PySimpleGUI库 p...
    99+
    2023-08-31
    python 开发语言 numpy
  • python读取pdf文档
    # -*- coding: utf-8 -*- #读取pdf文档 from pdfminer.pdfparser import PDFParser,PDFDocument from pdfminer.pdfinterp impo...
    99+
    2023-01-31
    文档 python pdf
  • python入门经典.pdf
    链接:https://pan.baidu.com/s/1KwslINNbBHA0ADul2Np0Fw密码:z4n9 ...
    99+
    2023-01-31
    入门 经典 python
  • python图片转换pdf
    #!/home/chao/anaconda3/envs/test_py2/bin/python#coding:utf-8import osimport...
    99+
    2023-01-31
    图片 python pdf
  • Python实现文字pdf转换图片pdf效果
    目录前言思路代码展示前言 为什么会做这个? 因为我们把word转化为pdf,wps默认转化为文字pdf,而图片pdf要会员。 网上确实也有网站可以实现免费的,但是未必安全。 思路 我...
    99+
    2024-04-02
  • python转html页面为pdf
    python转html页面为pdf: 安装wkhtmltopdf略 #!/usr/bin/python import pdfkit pdfkit.from_url('http://google.com','baidu.pdf') :w...
    99+
    2023-01-31
    页面 python html
  • Python怎么实现文字pdf转换图片pdf效果
    本篇内容主要讲解“Python怎么实现文字pdf转换图片pdf效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么实现文字pdf转换图片pdf效果”吧!代码展示先安装依赖pip&n...
    99+
    2023-06-29
  • 【python】jupyter notebook导出pdf和pdf不显示中文问题
    文章目录 写在前面1. 使用jupyter notebook导出pdf1.1 安装`Pandoc`1.2 安装`MiKTex`1.3 示例导出pdf 2. 中文显示问题2.1 显示中文问题...
    99+
    2023-10-08
    python jupyter pdf
  • python怎么处理pdf文件
    使用python处理pdf文件的方法:1.新建python项目;2.导入pdfminer模块;3.使用open()函数打开pdf文件;4.通过创建pdf文档解析器对象处理pdf文件;具体步骤如下:首先,打开python,并新建一个pytho...
    99+
    2024-04-02
  • 使用Python生成pdf文件
        Python平台的优秀PDF报表类库Reportlab。它不属于Python的标准类库,所以必须手动下载类库包并安装:       yum install python-reportlab -y    这篇文章将介绍reportla...
    99+
    2023-01-31
    文件 Python pdf
  • Python怎么实现Word转PDF
    这篇文章主要讲解了“Python怎么实现Word转PDF”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么实现Word转PDF”吧!pdf 工具包 - pdfkitpdfkit ...
    99+
    2023-06-30
  • python怎么读取pdf内容
    要读取PDF内容,可以使用Python中的第三方库PyPDF2。 首先,确保已经安装了PyPDF2库。可以使用以下命令进行安装: p...
    99+
    2024-02-29
    python
  • 给PDF添加水印(Python+C#)
    1、Python + PDFlib   以下是用PDFlib给pdf添加水印的速记,另外PDFStamp是个很好用的pdf水印工具。PDFlib功能比较多、杂;PDFStamp功能单一,更方便使用。据walker测试,PDFlib会比PDF...
    99+
    2023-01-31
    水印 PDF Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作