day21-pdf作业

给文件添加水印1
from PyPDF2 import PdfFileReader, PdfFileReader, PdfFileWriter
from reportlab.pdfgen import canvas # 提供pdf文件
from reportlab.pdfbase import pdfmetrics    # 注册字体
from reportlab.pdfbase.ttfonts import TTFont    # 提供字体对象
import os
import reportlab
# 作业:将指定文件夹中所有的pdf文件的所有也都添加属于自己的水印# 1.注册字体
pdfmetrics.registerFont(TTFont('font1', 'files02/bb.ttf'))
pdfmetrics.registerFont(TTFont('font2', 'files02/青呱石头体.ttf'))
pdfmetrics.registerFont(TTFont('font3', 'files02/dd.ttf'))
# 2.创建pdf文件
pdf = canvas.Canvas('files02/water02.pdf')
pdf.rotate(45)
# 3.熏染文字
# 1)设置字体
# setFont(字体名,字体大小)
pdf.setFont('font3', 50)
# 2)设置文字颜色
# 计算机三原色:红绿蓝,(0~255)
# setFillColorRGB(r, g, b,透明度)
# 注意:r、g、b的取值范围是0~1
#       透明度取值范围0~1
pdf.setFillColorRGB(0, 0, 1, 0.5)
# 3)熏染文字(写字)
pdf.drawString(250, 100, '紫檀香做这个玩意都要做疯了')
# 4.保存文件
pdf.save()"""
第一步:用循环获取文件夹里面每一个pdf到的文件名,并存起来
第二步:用循环获取每个pdf文件的内容并印上水印
第三步:把所有的循环封装成函数
第四步:简化程序
"""
# pdfs_data = []
# file_dir = "D:/PycharmProjects/new-day21csv和pdf文件操作/作业data"
# for root, dirs, files in os.walk(file_dir, topdown=False):
#     length = len(files)
#     # print(files)
#     for i in range(length):
#         pdfs_data.append(files[i])
#     print(length)
# print(pdfs_data)
# pdfs_data1 = pdfs_data[0]
# # pdfs_data2 = eval(pdfs_data[1])
# # pdfs_data3 = eval(pdfs_data[2])
# print(pdfs_data1, type(pdfs_data1))
# # print(pdfs_data2)
# # print(pdfs_data3)
# nums1 = 'pdfs/pdfs/pdfs_data1'
# # nums2 = 'pdfs/pdfs/pdfs_data2'
# # nums3 = 'pdfs/pdfs/pdfs_data3'
# print(nums1)
# # print(nums2)
# # print(nums3)
reader1 = PdfFileReader(open('作业data/HEU_KMS_Activator_v20.0.0用户使用手册.pdf', 'rb'))
reader2 = PdfFileReader(open('作业data/存储引擎的讲解.pdf', 'rb'))
reader3 = PdfFileReader(open(r'作业data/Python.pdf', 'rb'))
reader_water = PdfFileReader(open('files02/water02.pdf', 'rb'))
page_num1 = reader1.numPages
page_num2 = reader2.numPages
page_num3 = reader3.numPages
water_page = reader_water.getPage(0)
writer1 = PdfFileWriter()
writer2 = PdfFileWriter()
writer3 = PdfFileWriter()
for i in range(page_num1):reader1.getPage(i).mergePage(water_page)writer1.addPage(reader1.getPage(i))for x in range(page_num2):reader2.getPage(x).mergePage(water_page)writer2.addPage(reader2.getPage(x))for z in range(page_num3):reader3.getPage(z).mergePage(water_page)writer3.addPage(reader3.getPage(z))# 5.准备空的pdf用来保存水印页
writer1.write(open('作业data/new_用户手册.pdf', 'wb'))
writer2.write(open('作业data/new_存储引擎.pdf', 'wb'))
writer3.write(open('作业data/new_课程大纲.pdf', 'wb'))
给pdf文件添加水印2
import os
from PyPDF2 import PdfFileReader, PdfFileWriter
from reportlab.pdfgen import canvas
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont# 1.注册字体
pdfmetrics.registerFont(TTFont('font1', 'files02/bb.ttf'))
pdfmetrics.registerFont(TTFont('font2', 'files02/青呱石头体.ttf'))
pdfmetrics.registerFont(TTFont('font3', 'files02/dd.ttf'))
# 2.创建pdf文件
pdf = canvas.Canvas('files02/water02.pdf')
pdf.rotate(45)
# 3.熏染文字
# 1)设置字体
# setFont(字体名,字体大小)
pdf.setFont('font3', 50)
# 2)设置文字颜色
# 计算机三原色:红绿蓝,(0~255)
# setFillColorRGB(r, g, b,透明度)
# 注意:r、g、b的取值范围是0~1
#       透明度取值范围0~1
pdf.setFillColorRGB(0, 0, 1, 0.5)
# 3)熏染文字(写字)
pdf.drawString(250, 100, '紫檀香做这个玩意都要做疯了')
# 4.保存文件
pdf.save()
reader_water = PdfFileReader(open('files02/water02.pdf', 'rb'))
os.mkdir('data02')
for file_name in os.listdir('data02'):if file_name[-4:] == '.pdf':result = open('data02' + file_name, 'rb')file_reader = PdfFileReader(result)page_num = file_reader.numPageswater_page = reader_water.getPage(0)empty = PdfFileWriter()for x in range(page_num):file_reader.getPage(x).mergePage(water_page)empty.addPage(file_reader.getPage(x))empty.write(open('data02/new_' + file_name, 'wb'))

day21-pdf作业相关推荐

  1. python 自动批改 PDF 作业

    背景: 去年担任了一门课的助教,课程比较麻烦,每个学生需要提交四分实验报告,模板都是一样的.本以为助教会轻轻松松,结果我们需要批改每个学生的PDF报告,当时着急在学校系统上成绩,所以都是大致浏览一下报 ...

  2. 2012年3月份工作总结 ~ 之 ~ PDF 作业对应 (虽然这个作业没有什么意思,但是非常值得总结)

    (虽然这个作业没有什么意思,但是非常值得总结!!!) 前言: ================================================================= 前一段 ...

  3. day21 计算器作业

    1 import re 2 3 express = '1 - 2 * ( ( 6 0 -3 0 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) ...

  4. 计算机图形学和数据科学实验,计算机图形学作业-图像处理实验室——中国科学技.PDF...

    计算机图形学作业-图像处理实验室--中国科学技 计算机图形学作业 薛迪秀 2014 10 30 xuedixiu@mail.ustc.edu.cn 作业(homework) • 邮件附件 • 附件命名 ...

  5. 让AI做作业:基于PaddleNLP-Taskflow的错别字单项测试

    引言 在上一个项目ERNIE for CSC:[的.地.得]傻傻分不清?救星来了!中,我们介绍了如何从0开始训练一个文本纠错模型. 文章的最后,提到了PaddleNLP的Taskflow.本文就基于文 ...

  6. Gnostice PDFOne .NET灵活的PDF部件套件

    Gnostice PDFOne .NET灵活的PDF部件套件 GnosticePDFOne.NET是一个灵活的PDF部件套件,供.NET程序员在自己的应用程序中执行与PDF相关的作业.PDFOne.N ...

  7. 批量下载:斯坦福大学公开课-编程范式,来源:网易公开课

    课件下载链接 http://cimg3.163.com/edu/open/ocw/bianchengfanshi.zip 全27集视频下载链接: http://mov.bn.netease.com/m ...

  8. c语言第一周作业答案,C语言程序设计下mooc答案.pdf

    <C语言程序设计下mooc答案.pdf>由会员分享,可在线阅读,更多相关<C语言程序设计下mooc答案.pdf(27页珍藏版)>请在装配图网上搜索. 1.2016.03.280 ...

  9. 计算机图形学大几学的,计算机图形学大作业-WenhaoYu.PDF

    计算机图形学大作业-WenhaoYu 计算机图形学 大作业 5090379126 虞文豪 题目:通过光照及纹理映射,实现高度真实感青花瓷材质的 茶壶向茶杯倒水动画特效. 一. 概述 之前的作业用使用S ...

  10. English Learning - Day21 作业打卡 2022.12.27 周二

    English Learning - Day21 作业打卡 2022.12.27 周二 引言 一.给出如下短语的汉语释义 1. vanished youth 2. faded flowers 3. o ...

最新文章

  1. git切换ssh和http协议
  2. Python操作Redis及连接方式
  3. JQuery AJAX 加载 HTML代码“lt”形式的。怎么解析成形式,并且把img解析成图片输出到浏览器中。...
  4. mysql 区间/替换/自增/where与having/字段运算/关键词/修改字段
  5. C++反汇编第一讲,认识构造函数,析构函数,以及成员函数
  6. 世界上最有能量的语言,一定要经常说!
  7. IO OutputStreamWriter和InputStreamReader
  8. 【新闻】本人新书《Java多线程编程实战指南(核心篇)》已出版上市
  9. python 直方图匹配_直方图匹配原理与python、matlab实现
  10. 实现米思齐的数码管图形化编程
  11. 关闭Ubuntu错误报告
  12. 只用70行代码,手把手教你遍历当前windows所有进程!
  13. 猎鹰9号运载火箭介绍
  14. SPSS_Logistic回归分析结果表中的英文字母意思
  15. 谷歌二次验证 Google Authenticator
  16. 修改uxtheme.exe ,打造自己的主题
  17. 应届生找开发岗经验总结
  18. jsp恩施州农业产业链农产品系统
  19. 软件测试mysql常用语句_【松勤软件测试】数据库常见面试题总结
  20. 低通滤波器转带通滤波器公式由来_高手讲解滤波器原理(二),轻松搞定LC滤波器原理...

热门文章

  1. 【GPLT】L1-057 PTA使我精神焕发
  2. 十大护眼灯品牌什么牌子好?盘点护眼灯品牌排行前十名
  3. 美版「蚂蚁花呗」上市记
  4. prototype 原型
  5. 玩转Python :获取微信好友个性签名生成词云
  6. 同济七版高等数学(下册)习题及答案
  7. Android平台的标签云实现
  8. 广东省地铁行业发展现状与动态前景评估报告2022版
  9. 【ACM】2022.7.31训练赛
  10. 网易互联网2019实习