如何用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的轻便web框架Bottle
Apr 08 Python
python数据批量写入ScrolledText的优化方法
Oct 11 Python
python 判断linux进程,并杀死进程的实现方法
Jul 01 Python
Python函数装饰器原理与用法详解
Aug 16 Python
pytorch 共享参数的示例
Aug 17 Python
python或C++读取指定文件夹下的所有图片
Aug 31 Python
pandas 对group进行聚合的例子
Dec 27 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
Feb 17 Python
基于python实现ROC曲线绘制广场解析
Jun 28 Python
Python把图片转化为pdf代码实例
Jul 28 Python
Python Matplotlib简易教程(小白教程)
Jul 28 Python
利用python实时刷新基金估值(摸鱼小工具)
Sep 15 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
PHP编程函数安全篇
2013/01/08 PHP
解析strtr函数的效率问题
2013/06/26 PHP
PHP实现的多彩标签效果代码分享
2014/08/21 PHP
PHP访问数据库集群的方法小结
2016/03/14 PHP
php 使用curl模拟登录人人(校内)网的简单实例
2016/06/06 PHP
Js+Flash实现访问剪切板操作
2012/11/20 Javascript
js获取网页高度(详细整理)
2012/12/28 Javascript
Javascript弹出窗口的各种方法总结
2013/11/11 Javascript
javascript基本类型详解
2014/11/28 Javascript
javascript+css3 实现动态按钮菜单特效
2016/02/06 Javascript
jQuery查找节点并获取节点属性的方法
2016/09/09 Javascript
jQuery动态生成Bootstrap表格
2016/11/01 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
2017/02/05 Javascript
JavaScript使用原型和原型链实现对象继承的方法详解
2017/04/05 Javascript
jQuery 利用ztree实现树形表格的实例代码
2017/09/27 jQuery
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
2020/08/09 Javascript
解决ie img标签内存泄漏的问题
2017/10/13 Javascript
微信小程序实现文字跑马灯
2020/05/26 Javascript
Map与WeakMap类型在JavaScript中的使用详解
2020/11/18 Javascript
解决Linux系统中python matplotlib画图的中文显示问题
2017/06/15 Python
python学习教程之使用py2exe打包
2017/09/24 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
python 实现数字字符串左侧补零的方法
2018/12/04 Python
python剪切视频与合并视频的实现
2020/03/03 Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
2020/03/25 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
2020/08/05 Python
Python如何发送与接收大型数组
2020/08/07 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
prAna官网:瑜伽、旅行和冒险服装
2019/03/10 全球购物
迎新晚会主持词
2014/03/24 职场文书
化工操作工岗位职责
2014/04/29 职场文书
大学第二课堂活动总结
2014/07/08 职场文书
四风问题个人对照检查材料
2014/09/26 职场文书
原告离婚代理词
2015/05/23 职场文书
Android中的Launch Mode详情
2022/06/05 Java/Android