python程序设计PDF,python程序语言设计基础 pdf

  python程序设计PDF,python程序语言设计基础 pdf

  1.PDF分割受疫情影响,只好在家上网络课,所以教材只能用电子版。但是一本教材是双扫描版,在iPad上看不太友好,所以我决定找个工具把PDF分成两半。

  我在百度上查了图1的预分割PDF,发现在Adobe Acrobat软件中经常被裁剪。因为这根本不是Python,所以我找到了用Python处理PDF文件的方法。最后我找了一个名为PyPDF2的库来用这个库实现PDF分割。

  首先,必须使用pip安装这个库:

  pip安装PyPDF2

  如果可以测量PDF的长宽比,连接左右裁剪,那么裁剪PDF的思路很简单,但是PyPDF2提供了这些功能。

  # PdfFileReader模块用于导入pdf# PdfFileWriter模块创建要保存的pdffrompypdf2importpdfilereader。pdf文件编写器#1。pdf pdf _ input=pdf file reader(open( XXX.pdf ,Rb) # 2。要保存的pdf对象的create PDF _ output=PDF file writer(# 3。选择PDF阅读长宽比page=PDF _ input _ left.getpage (0)第一页0)Width=height=float(page . media box . getheight numpages))5 .modify page . media box . lower left=(x,Y)page . media box . upper pdf _ output . add page(page))7 .循环所有页面,然后输出文件为pdf文件pdf _ output.write open (XXX,pdf),pdf

  图2 PyPDF2坐标是垂直缩放的,但是我们的PDF是水平缩放的,如下图所示。

  图3纵横比PDF的示例相当于以下内容:

  图4水平比例的PyPDF2坐标:

  请注意,图5中旋转后水平刻度中的PyPDF2坐标与图1中的坐标不同。

  知道PyPDF的坐标后,通过调整四个角的坐标,就可以得到左右两个PDF。对于左侧的PDF,相应的坐标如下:

  图6左半部分的PyPDF2坐标设置如下。

  page _ left . media box . lower left=(0,height/2 ) page _ left . media box . lower right=(width,height/2)page _ .

  对应于图7右半部分中的PyPDF2坐标的坐标设置如下。

  page _ right . media box . lower left=(0,0)page _ right . media box . lower right=(width,0 ) page _ right.mediabobot

  从py pdf 2导入pdf文件生成器,PdfFileWriterinfile=慢鼠标多变量分析. pdf outfile=慢鼠标多变量分析split . pdf pdf _ input _ left=pdf filereader(pdf _ input _ right=pdf filereader(open(infile, Rb )(pdf _ output=PdfFileWriter)page=pdf _ input _ left . get page(0)width=float)page . media box . get page

  page _ left . media box . lower left=(0,Height/2)page _ left . media box . lower right=(width,Height/2)page _ left . media box . upper left=(0,Height)page _ left . media box . upper right=(width,Height)pdf _ output . add page(page _ left)# right page _ right=pdf _ input _ right . get page(I)page _ right . media box . lower left=(0)page _ right . media box . lower right=.

  图8转换后的PDF效果2。调整边缘转换后,发现PDF有这个黑边,我们可以通过调整相应的坐标来减少黑边现象:

  图9 PDF黑边从PyPDF2导入PdfFileReader,PdfFileWriterdef pdf _ split(infile,outfile,left_margin=0,right_margin=0,down _ margin=0):pdf _ input _ left=PdfFileReader(open(infile, rb)) #读取切割为左边的pdf pdf _ input _ right=PdfFileReader(open(infile, rb)) #读取切割为右边的pdf pdf_output=PdfFileWriter() #定义要保存的pdf page=pdf _ input _ left。获取第(0)页#选取第一页来读取可移植文档格式文件的扩展名(可移植文档格式的缩写)的长宽宽度=浮动(第页。媒体盒。getwidth())height=float(page。媒体盒。getheight())page _ count=pdf _ input _ left。getnumpages()#读取可移植文档格式文件的扩展名(可移植文档格式的缩写)页数对于范围内的I(页数):#切割左边pdf page _ left=pdf _ input _ left。获取第(一)页_左。媒体盒。左下角=(0,height/2)page _ left。媒体盒。右下=(宽度,高度/2)page _ left。左上=(down _ margin,height-left _ margin)page _ left。媒体盒。右上=(宽度,高度-左边距)pdf _ output。添加页面(page _ left)#切割右边pdf page _ right=pdf _ input _ right。获取第(一)页右页。媒体盒。左下角=(down _ margin,right _ margin)page _ right。媒体盒。右下=(width,right _ margin)page _ right。媒体盒。左上=(down _ margin,height/2)page _ right。添加页面(page _ right)pdf _ output。write(open(outfile, WB )#保存可移植文档格式文件的扩展名(portable document format的缩写)打印(完成!)infile=应用多元统计分析缓慢的老鼠pdfoutfile=应用多元统计分析缓慢的老鼠分裂。pdf left_margin=10 right_margin=10 down_margin=20 pdf _ split(infile,outfile,left _ margin,right _ margin,down _ margin)完成!看下最后效果:

  图10 调整后的便携文档格式黑边情况其他文章推荐

  机器学习算法与计算机编程语言实现专栏

  结构化查询语言入门教程专栏

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

相关文章阅读

  • 浅谈python程序的错误-变量未定义的原因,浅谈python程序的错误-变量未定义为
  • 浅谈python程序的错误-变量未定义的原因,浅谈python程序的错误-变量未定义为,浅谈Python程序的错误-变量未定义
  • Python程序设计与算法基础教程,python算法指南
  • Python程序设计与算法基础教程,python算法指南,Python常用算法学习基础教程
  • ,,8个实用的Python程序你知道几个
  • python程序打包成exe可执行文件,python程序打包成exe后的 运行速度
  • python流程管理,Python程序开发流程
  • Python程序开发案例教程,python程序设计案例实践教程
  • python编程基础与案例集锦,python程序代码实例
  • python程序设计实例教程董付国课后答案,python程序设计第三版董付国
  • 如果在python程序中没有导入相关模块,python外部模块不用导入可以直接使用
  • Python程序语言设计基础,Python编程设计
  • python程序语言的特点,Python编程的特点
  • python程序编写,python编程求素数
  • python向服务器发送数据,python程序如何在服务器部署
  • 留言与评论(共有 条评论)
       
    验证码: