如何用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 相关文章推荐
Windows8下安装Python的BeautifulSoup
Jan 22 Python
十个Python程序员易犯的错误
Dec 15 Python
基于Python实现对PDF文件的OCR识别
Aug 05 Python
Python中实现最小二乘法思路及实现代码
Jan 04 Python
Python爬虫实现(伪)球迷速成
Jun 10 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
Oct 28 Python
python:动态路由的Flask程序代码
Nov 22 Python
以SQLite和PySqlite为例来学习Python DB API
Feb 05 Python
python实现随机加减法生成器
Feb 24 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
Jun 02 Python
python 进制转换 int、bin、oct、hex的原理
Jan 13 Python
Python爬虫制作翻译程序的示例代码
Feb 22 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
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
Thinkphp 5.0实现微信企业付款到零钱
2018/09/30 PHP
PHP命名空间与自动加载机制的基础介绍
2019/08/25 PHP
IE php关于强制下载文件的代码
2008/08/23 Javascript
在IE浏览器中resize事件执行多次的解决方法
2011/07/12 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
2013/06/09 Javascript
使用jquery.upload.js实现异步上传示例代码
2014/07/29 Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
2016/01/23 Javascript
详解javascript new的运行机制
2016/01/26 Javascript
JavaScript中的事件委托及好处
2016/07/12 Javascript
通过sails和阿里大于实现短信验证
2017/01/04 Javascript
JavaScript实现焦点进入文本框内关闭输入法的核心代码
2017/09/20 Javascript
vue.js将时间戳转化为日期格式的实现代码
2018/06/05 Javascript
仿vue-cli搭建属于自己的脚手架的方法步骤
2019/04/17 Javascript
微信小程序前端promise封装代码实例
2019/08/24 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
[02:16]卖萌的僵尸 DOTA2神话信使飞僵小宝来袭
2014/03/24 DOTA
[59:26]DOTA2上海特级锦标赛D组资格赛#1 EG VS VP第二局
2016/02/28 DOTA
[40:12]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python打印scrapy蜘蛛抓取树结构的方法
2015/04/08 Python
Python psutil模块简单使用实例
2015/04/28 Python
Python编程实现正则删除命令功能
2017/08/30 Python
用xpath获取指定标签下的所有text的实例
2019/01/02 Python
Python3数字求和的实例
2019/02/19 Python
关于pytorch处理类别不平衡的问题
2019/12/31 Python
Django模型中字段属性choice使用说明
2020/03/30 Python
用python进行视频剪辑
2020/11/02 Python
Django配置跨域并开发测试接口
2020/11/04 Python
pandas 按日期范围筛选数据的实现
2021/02/20 Python
保护水资源的标语
2014/06/17 职场文书
村长反四风问题个人对照检查材料
2014/09/21 职场文书
会计主管岗位职责
2015/04/02 职场文书
2015年秋季小学开学标语
2015/07/16 职场文书
爱护公物主题班会
2015/08/17 职场文书
大学生饮品店创业计划书范文
2019/07/10 职场文书
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA