iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >怎么使用Python代码实现一款永久免费PDF编辑工具
  • 154
分享到

怎么使用Python代码实现一款永久免费PDF编辑工具

2023-07-02 17:07:00 154人浏览 薄情痞子

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

摘要

今天小编给大家分享一下怎么使用python代码实现一款永久免费pdf编辑工具的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。P

今天小编给大家分享一下怎么使用python代码实现一款永久免费pdf编辑工具的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

    PyPDF2

    PyPDF2是一个第三方的Python PDF库,它能够对PDF文件进行分割、合并、裁剪和转换页面。

    另外,它还可以对PDF文件添加自定义数据、水印、密码,也可以从PDF文件中检索出文本和元数据。

    安装

    使用pip直接安装:

    $ pip install PyPDF2

    下面就来演示几项PDF编辑功能,并且会逐行解释代码的含义。

    删除PDF页

    先给出实现代码,

    from PyPDF2 import PdfFileWriter, PdfFileReader output = PdfFileWriter()     // 1input1 = PdfFileReader(open("example.pdf", "rb")) // 2 def delete_pdf(index): pages = input1.getNumPages() // 3  for i in range(pages):  if i+1 in index:   continue  output.addPage(input1.getPage(i))  // 4  outputStream = open("PyPDF2-output.pdf", "wb") output.write(outputStream)  // 5 delete_pdf([2,3,4])

    下面来解释一下代码中的几个关键点:

    • 声明一个用于输出PDF的实例;

    • 读取本地PDF文件;

    • 获取PDF文档的页数;

    • 读取PDF的第i页,添加到输出output实例中;

    • 把编辑后的文档保存到本地;

    合并PDF

    已经实现了删除PDF页,接下来就看一下如何把另外一个PDF中的页面合并到当前PDF中。

    方法1:

    可以沿着前面删除PDF页的方式进行拓展一下,对PDF进行合并。

    from PyPDF2 import PdfFileWriter, PdfFileReader output = PdfFileWriter()input1 = PdfFileReader(open("example.pdf", "rb"))input2 = PdfFileReader(open("simple2.pdf", "rb")) // 1 def merge_pdf(add_index, origin_index): pages = input1.getNumPages() k = 0 for i in range(pages):  if i+1 in add_index:   output.addPage(input2.getPage(origin_index[k])) // 2   pages += 1   k += 1  output.addPage(input1.getPage(i))  outputStream = open("PyPDF2-output.pdf", "wb") output.write(outputStream) merge_pdf([2,3,4], [0, 0, 0])
    • 读取需要合并的源文件;

    • 遍历到指定页,合并源PDF的页面;

    方法2:

    除了方法1,还有另外一种方法可以合并PDF:

    from PyPDF2 import PdfFileMerger // 1 merger = PdfFileMerger() input1 = open("document1.pdf", "rb") // 2input2 = open("document2.pdf", "rb")input3 = open("document3.pdf", "rb") merger.append(fileobj = input1, pages = (0,3)) // 3 merger.merge(position = 2, fileobj = input2, pages = (0,1)) // 4 merger.append(input3) // 5 output = open("document-output.pdf", "wb")merger.write(output)
    • 导入PyPDF2合并模块PdfFileMerger;

    • 读取需要处理和合并的PDF文档;

    • 从第一个PDF文档中取出需要合并的前3页;

    • 把第二个PDF文档的第一页插入到文档中;

    • 把第三个PDF文档附到输出文档末尾;

    除了上述介绍的2项主要功能,PyPDF2也有一些其他小功能:

    旋转

    input1.getPage(1).rotateClockwise(90)

    使得页面1旋转90度。

    添加水印

    page = input1.getPage(3)watermark = PdfFileReader(open("watermark.pdf", "rb"))page.mergePage(watermark.getPage(0))

    其中,水印存储在另外一个PDF文档watermark.pdf中。

    加密

    passWord = "secret"output.encrypt(password)

    首先给一个secret密码,然后使用encrypt对输出文档进行加密。

    pdfminer

    前面介绍的PyPDF2主要擅长于PDF页面级编辑,而对于文本和源数据级别编辑能力较弱。

    所以,这里就来介绍另外一款Python库来弥补它的不足。

    PDFMiner是一个PDF文档的文本提取工具,它具有如下特性:

    • 能够准确获取文本的位置和布局信息;

    • 可以将PDF转换为html/XML等格式;

    • 可以提取目录;

    • 可以提取标签内容;

    • 支持各种字体类型(Type1、TrueType、Type3和CID);

    • 支持中、日、韩语言和垂直书写文本;

    安装

    $ pip install pdfminer

    PDF转TxT

    pdfminer在GitHub的托管项目中,在目录tools下给出了一些实用的工具集,例如,PDF转HTML、PDF转HTML、PDF转TXT。我们可以直接通过使用下面命令提出PDF文档中的文本信息。

    $ pdf2txt.py samples/simple1.pdf

    以上就是“怎么使用Python代码实现一款永久免费PDF编辑工具”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网Python频道。

    --结束END--

    本文标题: 怎么使用Python代码实现一款永久免费PDF编辑工具

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

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

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

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

    下载Word文档
    猜你喜欢
    • 怎么使用Python代码实现一款永久免费PDF编辑工具
      今天小编给大家分享一下怎么使用Python代码实现一款永久免费PDF编辑工具的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。P...
      99+
      2023-07-02
    • 20行Python代码实现一款永久免费PDF编辑工具
      目录PyPDF2删除PDF页合并PDF旋转添加水印加密pdfminerPDF转TxT总结PDF是我们经常会接触到的一种文件格式,文献、文档...很多都是PDF格式。它以格式稳定的优势...
      99+
      2022-11-11
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作