PDF复制文本失败(只能复制为图片)?和猫妹学Python,用pikepdf移除其限制(10)

小朋友们好,大朋友们好!

我是猫妹,一名爱上Python编程的小学生。

欢迎和猫妹一起,趣味学Python。

今日主题

有些PDF文档,有一些权限限制。

比如禁止复制文字,如何解除其权限限制。

和猫妹学Python,一起用pikepdf移除其权限限制。

项目需求

猫爸是一名80后程序员,平时除了写代码,就是阅读一些英文文档。

他的英文不咋地,过了四级,但是没有过六级。

他那个时候的大学啊,四六级考试满分还是100分,他第一次考了58分左右,第二次考了66分左右,非常侥幸地拿到了四级证书。

所以,别看他编程挺熟练的,英语发音真的没有我准。

这也不能怪他,他初中才开始学英文。

咱们呢?

小学就开始了。

没有可比性啊!

英语一般,他又要阅读不少英文文档,怎么办?

猫爸熟练网络啊,直接用现成的网络翻译。

翻译后的信息,先粗略读下,遇到非常重要的地方,再咬文嚼字,精读。

所以,他看阅读英文文档时,经常是复制加粘贴。

文档嘛!PDF居多。

有一次,又见他愁眉苦脸。

原来,竟然还有的PDF禁止复制文字。

这种比较少见,但是还是有的。

这些PDF在复制的时会报错如下错误:

为什么呢?

遇到问题,解决问题,是猫爸一贯的作风。

逢山开路,遇水搭桥。

这次,他又拿起Python这个利器,对这个小限制发起了挑战。

程序演示

这个没有什么可演示的,就是移除PDF的一些权限限制。

文档处理前,有权限显示,比如上面一些图片,不能复制文字等。

处理后呢?限制消除了。

程序原理

程序是猫爸借鉴网上一位热心朋友的,小朋友网上搜索很容易找到的。

避免重复造轮子,这是猫爸常说的一句话。

这次用到的库是pikepdf,使用前先安装下。

pikepdf库

pikepdf基于QPDF,这是一个功能强大的PDF操作和修复库。

Github项目地址:https://github.com/pikepdf/pikepdf

PYPI地址:https://pypi.org/project/pikepdf/0.1.8/

Project description

pikepdf is a Python library for reading and writing PDF files.

pikepdf is based on QPDF, a powerful PDF manipulation and repair library.

Python + QPDF = “py” + “qpdf” = “pyqpdf”, which looks like a dyslexia test. Say it out loud, and it sounds like “pikepdf”.

Python 3.5 and 3.6 are fully supported.

Features:

  • Editing, manipulation and transformation of existing PDFs

  • Based on the mature, proven QPDF C++ library

  • Reading and writing encrypted PDFs, with all encryption types except public key

  • Supports all PDF compression filters

  • Supports PDF 1.3 through 1.7

  • Can create “fast web view” (linearized) PDFs

  • Creates standards compliant PDFs that pass validation in other tools

  • Automatically repairs damaged PDFs, just like QPDF

  • Can manipulate PDF/A, PDF/X and other types without losing their metadata marker

  • Implements more of the PDF specification than existing Python PDF tools

  • For convenience, renders PDF pages or embedded PDF images in Jupyter notebooks and IPython

功能:

pikepdf类似于PyPDF2和pdfrw - 它提供对PDF功能的低级访问,并允许对现有PDF进行编辑和内容转换。

了解一些PDF规范的知识可能会有所帮助,另外它还无法将PDF转换为图像。

目前pikepdf不支持Python 2.7和早期版本的Python 3,但对这些版本的支持可能并不难实现。

pikepdf、PyPDF2、pdfrw功能对比:

好了,今天的分享就到这里,谢谢大家的阅读。

移除PDF文档的一些权限限制。

你学会了吗?

如果你遇到了这个问题,并且只想用编译好的可执行文件,可以找猫妹获取就行,拿来主义,为我所用。

我是猫妹,咱们下次见!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值