如何用python插入独创性声明
作者:kimol君 发布时间:2021-05-07 04:24:15
标签:python,插入声明
目录
一、代码分析
二、完整代码
写在最后
想必写毕设的时候,大家都会遇到一个问题,那就是得在明评版的论文里面插入一个独创性声明。就因为这个事情,我折腾了好久,各种在线网站都试过了,然而基本都需要充值或者会员啥的。(小声嚷嚷:“万恶的资本”)
害~一不做二不休, * 脆自己写个小工具好了。
一、代码分析
利用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))
运行效果如下:
打开生成的output.pdf,可以发现已经成功插入。
写在最后
最后,感谢各位大大的耐心阅读,咋们下次再会~
来源:https://blog.csdn.net/kimol_justdo/article/details/109523768
0
投稿
猜你喜欢
- <html> <head> <title>Login</title> <meta ht
- 一、日志级别1. 级别定义logging模块提供了5种日志级别,分别为:CRITICAL>ERROR>WARNING>IN
- 引子Tornado 是一个网络异步的的web开发框架, 并且可以利用多进程进行提高效率, 下面是创建一个多进程 tornado 程序的例子.
- 我们可以通过python 来实现这样一个简单的爬虫猜密码功能。下面就看看如何使用python来实现这样一个功能。这里我们知道用户的昵称为:h
- ORM简介ORM概念对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在
- 1.基本结构 create OR REPLACE PROCEDURE存储过程名字 ( 参数1 IN NUMBER, 参数2 IN NUMBE
- 目录相关背景直方图计算法图像指纹与汉明距离平均哈希法(aHash)感知哈希算法(pHash)dHash算法在网上看到python做图像识别的
- aspjpeg组件官方下载地址:http://www.persits.com/说明: 1、aspjpeg能对图片水印进行透明度调整
- 1、远程登录到linux上,使用到的模块paramiko#远程登陆操作系统def ssh(sys_ip,username,password,
- 前言网站登录的时候我们常常会看到随机的验证码需要输入后台验证,如图:现在我们来实现在Django中通过自定制插件来实现随机验证check_c
- 前言:IPython 是 Python 的原生交互式 shell 的增强版,可以完成许多不同寻常的任务,比如帮助实现并行化计算;主要使用它提
- 本文实例为大家分享了Python实现打砖块游戏的具体代码,供大家参考,具体内容如下#导入模块import pygamefrom pygame
- 笛卡尔坐标系对于平面坐标系,任一射线OP与x轴夹角θ的范围,可以取[0,2π)或者(-π,&
- Oracle数据库开发应用中经常对数据库管理员有这样的需求,对比两个不同实例间某模式下对象的差异或者对比两个不同实例某模式下表定义的差异性,
- 如下所示:#!/usr/bin/env pythonimport osimport sysclass CConsole: M_MAP_COL
- 一、功能简述正是微博如火如荼的时节,其中各个微博的分享功能是网站推广产品的好东东啊,此时如何方便快捷的使用微博的分享功能就显得比较重要了。我
- 对于Python开发用户来讲,安装第三方库是家常便饭,下面提供两种安装方式pycharm软件安装1.打开file>setting2.点
- 1.首先注册应用,获取 appkey、appsecretapi_url = "https://oapi.dingtalk.com/
- python的异常,以及用try复合语句处理异常。运行代码时有时会出现各种各样的错误,致使解析器中断执行,并提示xxxxxxErorr的提示
- 本文实例讲述了php+html5基于websocket实现聊天室的方法。分享给大家供大家参考。具体如下:html5的websocket 实现