如何用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中使用PIL库实现图片高斯模糊实例
Feb 08 Python
Python同时向控制台和文件输出日志logging的方法
May 26 Python
Python保存MongoDB上的文件到本地的方法
Mar 16 Python
python二分查找算法的递归实现方法
May 12 Python
利用标准库fractions模块让Python支持分数类型的方法详解
Aug 11 Python
python与sqlite3实现解密chrome cookie实例代码
Jan 20 Python
对python 命令的-u参数详解
Dec 03 Python
Python数据抓取爬虫代理防封IP方法
Dec 23 Python
PyQt4实时显示文本内容GUI的示例
Jun 14 Python
Django中如何使用sass的方法步骤
Jul 09 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
Jan 07 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
Apr 27 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
一个没有MYSQL数据库支持的简易留言本的编写
2006/10/09 PHP
php简单静态页生成过程
2008/03/27 PHP
PHP计算加权平均数的方法
2015/07/16 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
基于thinkphp6.0的success、error实现方法
2019/11/05 PHP
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
2009/09/19 Javascript
3种不同方式的焦点图轮播特效分享
2013/10/30 Javascript
屏蔽script注入小例子
2013/11/12 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
JavaScript的变量声明提升问题浅析(Hoisting)
2016/11/30 Javascript
create-react-app构建项目慢的解决方法
2018/03/14 Javascript
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
js实现移动端tab切换时下划线滑动效果
2019/09/08 Javascript
Vue之Mixins(混入)的使用方法
2019/09/24 Javascript
JavaScript React如何修改默认端口号方法详解
2020/07/28 Javascript
js实现搜索提示框效果
2020/09/05 Javascript
[40:55]Liquid vs LGD 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python二叉树的实现实例
2013/11/21 Python
tensorflow实现对图片的读取的示例代码
2018/02/12 Python
Python Requests模拟登录实现图书馆座位自动预约
2018/04/27 Python
浅谈Django的缓存机制
2018/08/23 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
2019/02/12 Python
Python基础学习之函数方法实例详解
2019/06/18 Python
Python学习笔记之集合的概念和简单使用示例
2019/08/22 Python
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
DVF官方网站:美国时装界尊尚品牌
2017/08/29 全球购物
英国最大的婴儿监视器网上商店:Baby Monitors Direct
2018/04/24 全球购物
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
Linux操作面试题
2012/05/16 面试题
培训主管岗位职责
2014/02/01 职场文书
计算机毕业生自荐信范文
2014/03/23 职场文书
初中语文教学随笔
2015/08/15 职场文书
人生哲理妙语30条:淡写流年,笑过人生
2019/09/04 职场文书
解决pycharm下载库时出现Failed to install package的问题
2021/09/04 Python
JS前端监控采集用户行为的N种姿势
2022/07/23 Javascript