如何用python插入独创性声明


Posted in Python onMarch 31, 2021

想必写毕设的时候,大家都会遇到一个问题,那就是得在明评版的论文里面插入一个独创性声明。就因为这个事情,我折腾了好久,各种在线网站都试过了,然而基本都需要充值或者会员啥的。(小声嚷嚷:“万恶的资本”)
害~一不做二不休,我干脆自己写个小工具好了。

一、代码分析

利用PyPDF2库便可轻松地对PDF文件进行处理,具体用法大家可以参考这里。首先是安装这个库:

pip install PyPDF2

定义输入和输出对象:

# 定义输出对象
outputName = 'output.pdf'
output = PdfFileWriter()
# 定义读取对象
thesisPDF = PdfFileReader(open(thesisName,'rb'))
insertPDF = PdfFileReader(open(insertName,'rb'))
N_page = thesisPDF.getNumPages()
pos = int(input('论文一共有"%d"页,请输入需要插入的位置:'%N_page))

分别读取论文的PDF和独创性声明的PDF,随后将声明插入到论文中的指定页面:

# 将声明插入到指定页面
for i in range(pos):
  output.addPage(thesisPDF.getPage(i))
output.addPage(insertPDF.getPage(0)) # 插入
for i in range(pos,N_page):
  output.addPage(thesisPDF.getPage(i))

将结果保存到本地:

# 保存插入后的结果
output.write(open(outputName,'wb'))

到这里,我们就已经成功的把声明插入到指定的页面中了。你没有看错,就是这么简单~

二、完整代码

将以上几部分整合起来,完整的代码如下:

# -*- coding: utf-8 -*-
"""
Created on Thu Nov 5 20:13:18 2020

@author: kimol_love
"""
import os
from PyPDF2 import PdfFileWriter, PdfFileReader

# 用户输入论文名
while True:
  thesisName = input('请输入论文的文件名:') 
  if not os.path.exists(thesisName):
    print('文件不存在,请重新输入!')
    continue
  if thesisName[-4:].lower() != '.pdf':
    print('后缀错误,请重新输入!')
    continue
  break

# 用户输入需要插入的页面
while True:
  insertName = input('请输入声明的文件名:') 
  if not os.path.exists(insertName):
    print('文件不存在,请重新输入!')
    continue
  if thesisName[-4:].lower() != '.pdf':
    print('后缀错误,请重新输入!')
    continue
  break

# 定义输出对象
outputName = 'output.pdf'
output = PdfFileWriter()

# 定义读取对象
thesisPDF = PdfFileReader(open(thesisName,'rb'))
insertPDF = PdfFileReader(open(insertName,'rb'))
N_page = thesisPDF.getNumPages()
pos = int(input('论文一共有"%d"页,请输入需要插入的位置:'%N_page))

# 将声明插入到指定页面
for i in range(pos):
  output.addPage(thesisPDF.getPage(i))
output.addPage(insertPDF.getPage(0)) # 插入
for i in range(pos,N_page):
  output.addPage(thesisPDF.getPage(i))  

# 保存插入后的结果
output.write(open(outputName,'wb'))
print('"%s"已经成功插入到"%s"的第%d页'%(insertName,thesisName,pos))

运行效果如下:

如何用python插入独创性声明

打开生成的output.pdf,可以发现已经成功插入。

写在最后

最后,感谢各位大大的耐心阅读,咋们下次再会~

以上就是如何用python插入独创性声明的详细内容,更多关于用python插入独创性声明的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python内置的字符串处理函数整理
Jan 29 Python
python使用Tkinter显示网络图片的方法
Apr 24 Python
详解Python中用于计算指数的exp()方法
May 14 Python
详解Python3中yield生成器的用法
Aug 20 Python
Python使用设计模式中的责任链模式与迭代器模式的示例
Mar 02 Python
Python使用numpy模块创建数组操作示例
Jun 20 Python
python 自动重连wifi windows的方法
Dec 18 Python
Python列表解析操作实例总结
Feb 26 Python
在django中form的label和verbose name的区别说明
May 20 Python
详解在Python中使用Torchmoji将文本转换为表情符号
Jul 27 Python
使用Python将xmind脑图转成excel用例的实现代码(一)
Oct 12 Python
Python卷积神经网络图片分类框架详解分析
Nov 07 Python
python OpenCV学习笔记
python基于OpenCV模板匹配识别图片中的数字
Python insert() / append() 用法 Leetcode实战演示
Mar 31 #Python
tensorflow学习笔记之tfrecord文件的生成与读取
Mar 31 #Python
Python中快速掌握Data Frame的常用操作
Mar 31 #Python
pycharm无法导入lxml的解决办法
python某漫画app逆向
You might like
《星际争霸重制版》兵种对比图鉴
2020/03/02 星际争霸
学习php设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
php自动加载方式集合
2016/04/04 PHP
Javascript中的window.event.keyCode使用介绍
2011/04/26 Javascript
JavaScript实现页面滚动图片加载(仿lazyload效果)
2011/07/22 Javascript
JSON.stringify 语法实例讲解
2012/03/14 Javascript
jquery如何判断某元素是否具备指定的样式
2013/11/05 Javascript
JS获取html对象的几种方式介绍
2013/12/05 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
JavaScript从0开始构思表情插件
2016/07/26 Javascript
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
vue项目中全局引入1个.scss文件的问题解决
2019/08/01 Javascript
详解小程序如何动态绑定点击的执行方法
2019/11/26 Javascript
antd日期选择器禁止选择当天之前的时间操作
2020/10/29 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
在Python中操作字符串之replace()方法的使用
2015/05/19 Python
Python中有趣在__call__函数
2015/06/21 Python
使用python获取csv文本的某行或某列数据的实例
2018/04/03 Python
Django+Ajax+jQuery实现网页动态更新的实例
2018/05/28 Python
python统计中文字符数量的两种方法
2019/01/31 Python
Python 保持登录状态进行接口测试的方法示例
2019/08/06 Python
python是否适合网页编程详解
2019/10/04 Python
python模拟实现斗地主发牌
2020/01/07 Python
Python异步编程之协程任务的调度操作实例分析
2020/02/01 Python
Django后端分离 使用element-ui文件上传方式
2020/07/12 Python
详解Html5中video标签那些属性和方法
2019/07/01 HTML / CSS
Roxy荷兰官方网站:冲浪、滑雪板、服装和配件
2019/10/22 全球购物
质检员岗位职责
2013/12/17 职场文书
四群教育工作实施方案
2014/03/26 职场文书
爱国卫生月活动总结范文
2014/04/25 职场文书
2016年元旦主持词
2015/07/06 职场文书
2015年度优秀员工获奖感言
2015/07/31 职场文书
党员公开承诺书(2016最新版)
2016/03/24 职场文书
导游经典开场白——导游词
2019/04/17 职场文书
详解RedisTemplate下Redis分布式锁引发的系列问题
2021/04/27 Redis
MySQL普通表如何转换成分区表
2022/05/30 MySQL