当前位置: 首页 > news >正文 聊城网站推广品牌用什么软件做网站最好 news 2025/10/21 20:40:30 聊城网站推广品牌,用什么软件做网站最好,百度浏览器app,域名是不是网址的地址Python对PDF文件页面的旋转和切割 利用Python的.rotate()方法和.mediabox属性对PDF页面进行旋转和切割#xff0c;最终生成一个PDF。下面结合案例进行说明#xff0c;本示例中的名为split_and_rotate.pdf文件在practice_files文件夹中#xff0c; 示例#xff08;1#…Python对PDF文件页面的旋转和切割 利用Python的.rotate()方法和.mediabox属性对PDF页面进行旋转和切割最终生成一个PDF。下面结合案例进行说明本示例中的名为split_and_rotate.pdf文件在practice_files文件夹中 示例1: 在home目录中创建一个新的PDF命名为rotated.pdf。将split_and_rotate.pdf中的所有页面逆时针旋转90度后保存到该文件中。原始文件如下 下面将以上的PDF文件逆时针旋转90度后保存。 源代码如下 from pathlib import Path from PyPDF2 import PdfReader, PdfWriter# 定义 PDF 文件的路径位置在当前工作目录下的 practice_files 文件夹中 pdf_path Path.cwd() / practice_files / split_and_rotate.pdf# 读取指定路径的 PDF 文件 pdf_reader PdfReader(str(pdf_path))# 创建一个 PDF 写入器对象用于写入新的 PDF 文件 pdf_writer PdfWriter()# 遍历 PDF 文件中的每一页 for page in range(len(pdf_reader.pages)):# 将当前页面旋转 -90 度并添加到写入器中pdf_writer.add_page(pdf_reader.pages[page].rotate(-90))# 在用户的主目录下创建一个新的 PDF 文件 rotated.pdf以写入模式打开 with (Path.home() / rotated.pdf).open(wb) as f:# 将合并后的内容写入到新创建的文件中pdf_writer.write(f)运行结果如下图 代码解释 导入模块: from pathlib import Path: 导入 Path 类以方便处理文件路径。from PyPDF2 import PdfReader, PdfWriter: 从 PyPDF2 导入 PdfReader 和 PdfWriter 类用于读取和写入 PDF 文件。 定义 PDF 文件路径: pdf_path Path.cwd() / practice_files / split_and_rotate.pdf: 使用 Path.cwd() 获取当前工作目录并与 practice_files 和 split_and_rotate.pdf 连接构建出完整的 PDF 文件路径。 读取 PDF 文件: pdf_reader PdfReader(str(pdf_path)): 使用 PdfReader 类实例化一个对象 pdf_reader读取指定路径的 PDF 文件。此时pdf_reader 包含了所有页面的信息。 创建 PDF 写入器: pdf_writer PdfWriter(): 实例化一个 PdfWriter 对象用于创建新的 PDF 文件并写入内容。 遍历 PDF 文件的每一页: for page in range(len(pdf_reader.pages)): 使用循环遍历 pdf_reader 中的每一页len(pdf_reader.pages) 返回 PDF 文件的总页数。pdf_writer.add_page(pdf_reader.pages[page].rotate(-90)): 取出当前页 (pdf_reader.pages[page])调用 rotate(-90) 方法将该页旋转 -90 度向左旋转然后使用 add_page() 方法将旋转后的页面添加到 pdf_writer 对象中。 写入新的 PDF 文件: with (Path.home() / rotated.pdf).open(wb) as f: 在用户的主目录下创建一个新的 PDF 文件命名为 rotated.pdf以二进制写入模式打开它。pdf_writer.write(f): 将 pdf_writer 中的内容写入到新创建的 rotated.pdf 文件中完成旋转操作后的 PDF 文件创建。 示例2 使用示例1中创建的rotated.pdf将PDF中的每一页沿垂直中线分割开来在home目录中创建一个新的PDF命名为split.pdf。将分割后得到的页面保存在该文件中。示例源码如下 from pathlib import Path from PyPDF2 import PdfWriter, PdfReader import copy# 定义 PDF 文件的路径位置在用户的主目录下文件名为 rotated.pdf pdf_path (Path.home() / rotated.pdf)# 读取指定路径的 PDF 文件 pdf_reader PdfReader(str(pdf_path)) # 创建一个 PDF 写入器对象用于写入新的 PDF 文件 pdf_writer PdfWriter()# 获取第一个页面的右上角坐标 current_coords pdf_reader.pages[0].mediabox.upper_right # 遍历 PDF 文件中的每一页 for page in pdf_reader.pages:# 深拷贝当前页面以创建左半边和右半边left_side copy.deepcopy(page)right_side copy.deepcopy(page)# 计算新坐标将右上角的 X 坐标除以 2Y 坐标保持不变new_coords (current_coords[0] / 2, current_coords[1])# 设置左半边的右上角坐标为新坐标left_side.mediabox.upper_right new_coords# 设置右半边的左上角坐标为新坐标right_side.mediabox.upper_left new_coords# 将修改后的左半边页面添加到写入器中pdf_writer.add_page(left_side)# 将修改后的右半边页面也添加到写入器中pdf_writer.add_page(right_side)# 在当前工作目录下创建一个新的 PDF 文件 split.pdf以写入模式打开 with Path.cwd().joinpath(split.pdf).open(wb) as f:# 将合并后的内容写入到新创建的文件中pdf_writer.write(f)运行结果如下 代码解释 导入模块: from pathlib import Path: 导入 Path 类用于处理文件路径。from PyPDF2 import PdfWriter, PdfReader: 从 PyPDF2 中导入 PdfWriter 和 PdfReader用于读取和生成 PDF 文件。import copy: 导入 copy 模块以便可以进行深拷贝操作。 定义 PDF 文件路径: pdf_path (Path.home() / rotated.pdf): 使用 Path.home() 获取用户主目录并与 rotated.pdf 拼接构建出完整的 PDF 文件路径。 读取 PDF 文件: pdf_reader PdfReader(str(pdf_path)): 实例化一个 PdfReader 对象读取指定路径的 PDF 文件。这将把文件中的所有页面信息加载到内存中。 创建 PDF 写入器: pdf_writer PdfWriter(): 实例化一个 PdfWriter 对象用于创建新的 PDF 文件并写入内容。 获取页面坐标: current_coords pdf_reader.pages[0].mediabox.upper_right: 获取 PDF 的第一个页面的右上角坐标这个坐标用于确定后续生成的两部分的尺寸。 遍历 PDF 文件中的每一页: for page in pdf_reader.pages:: 遍历所有页面。 创建页面的深拷贝: left_side copy.deepcopy(page): 创建当前页面的一个深拷贝用于生成左半边页面。right_side copy.deepcopy(page): 同样深拷贝当前页面用于生成右半边页面。 计算新坐标: new_coords (current_coords[0] / 2, current_coords[1]): 将右上角的 X 坐标除以 2保留 Y 坐标不变计算出左半边和右半边的新边界坐标。 设置左右页面的坐标: left_side.mediabox.upper_right new_coords: 更新左半边页面的右上角坐标。right_side.mediabox.upper_left new_coords: 更新右半边页面的左上角坐标。 写入修改后的页面: pdf_writer.add_page(left_side): 将左半边页面添加到 PDF 写入器。pdf_writer.add_page(right_side): 将右半边页面也添加到 PDF 写入器。 输出新的 PDF 文件: with Path.cwd().joinpath(split.pdf).open(wb) as f: 创建一个新的 PDF 文件命名为 split.pdf在当前工作目录下以二进制写入模式打开。pdf_writer.write(f): 将写入器中的内容即左半边和右半边的页面写入到新创建的 split.pdf 文件中。 希望此文对您有所启发和帮助欢迎点赞、关注、转发 文章转载自: http://www.morning.cnfjs.cn.gov.cn.cnfjs.cn http://www.morning.mkrqh.cn.gov.cn.mkrqh.cn http://www.morning.jnoegg.com.gov.cn.jnoegg.com http://www.morning.wxccm.cn.gov.cn.wxccm.cn http://www.morning.dmjhp.cn.gov.cn.dmjhp.cn http://www.morning.zwzwn.cn.gov.cn.zwzwn.cn http://www.morning.rxfgh.cn.gov.cn.rxfgh.cn http://www.morning.gfjgq.cn.gov.cn.gfjgq.cn http://www.morning.btwrj.cn.gov.cn.btwrj.cn http://www.morning.ctsjq.cn.gov.cn.ctsjq.cn http://www.morning.shinezoneserver.com.gov.cn.shinezoneserver.com http://www.morning.tntbs.cn.gov.cn.tntbs.cn http://www.morning.rqwmt.cn.gov.cn.rqwmt.cn http://www.morning.xtrzh.cn.gov.cn.xtrzh.cn http://www.morning.pmghz.cn.gov.cn.pmghz.cn http://www.morning.hqnsf.cn.gov.cn.hqnsf.cn http://www.morning.rqlqd.cn.gov.cn.rqlqd.cn http://www.morning.zdbfl.cn.gov.cn.zdbfl.cn http://www.morning.jqzns.cn.gov.cn.jqzns.cn http://www.morning.wckrl.cn.gov.cn.wckrl.cn http://www.morning.pyncx.cn.gov.cn.pyncx.cn http://www.morning.kbqqn.cn.gov.cn.kbqqn.cn http://www.morning.nqmdc.cn.gov.cn.nqmdc.cn http://www.morning.trplf.cn.gov.cn.trplf.cn http://www.morning.jrgxx.cn.gov.cn.jrgxx.cn http://www.morning.bygyd.cn.gov.cn.bygyd.cn http://www.morning.mqfhy.cn.gov.cn.mqfhy.cn http://www.morning.ckdgj.cn.gov.cn.ckdgj.cn http://www.morning.ygxf.cn.gov.cn.ygxf.cn http://www.morning.hcbky.cn.gov.cn.hcbky.cn http://www.morning.xjnw.cn.gov.cn.xjnw.cn http://www.morning.zwtp.cn.gov.cn.zwtp.cn http://www.morning.fwzjs.cn.gov.cn.fwzjs.cn http://www.morning.khpgd.cn.gov.cn.khpgd.cn http://www.morning.hsrpc.cn.gov.cn.hsrpc.cn http://www.morning.mszls.cn.gov.cn.mszls.cn http://www.morning.gwdkg.cn.gov.cn.gwdkg.cn http://www.morning.bpknt.cn.gov.cn.bpknt.cn http://www.morning.cyyhy.cn.gov.cn.cyyhy.cn http://www.morning.jcxzq.cn.gov.cn.jcxzq.cn http://www.morning.kpbgp.cn.gov.cn.kpbgp.cn http://www.morning.mhxlb.cn.gov.cn.mhxlb.cn http://www.morning.kqzxk.cn.gov.cn.kqzxk.cn http://www.morning.brwp.cn.gov.cn.brwp.cn http://www.morning.qgmbx.cn.gov.cn.qgmbx.cn http://www.morning.zycll.cn.gov.cn.zycll.cn http://www.morning.fwzjs.cn.gov.cn.fwzjs.cn http://www.morning.ngcw.cn.gov.cn.ngcw.cn http://www.morning.zzbwjy.cn.gov.cn.zzbwjy.cn http://www.morning.gynlc.cn.gov.cn.gynlc.cn http://www.morning.ljpqy.cn.gov.cn.ljpqy.cn http://www.morning.rmpfh.cn.gov.cn.rmpfh.cn http://www.morning.knrgb.cn.gov.cn.knrgb.cn http://www.morning.wgbmj.cn.gov.cn.wgbmj.cn http://www.morning.pqqzd.cn.gov.cn.pqqzd.cn http://www.morning.qznkn.cn.gov.cn.qznkn.cn http://www.morning.hympq.cn.gov.cn.hympq.cn http://www.morning.mgbsp.cn.gov.cn.mgbsp.cn http://www.morning.mnpdy.cn.gov.cn.mnpdy.cn http://www.morning.kjdxh.cn.gov.cn.kjdxh.cn http://www.morning.xtdtt.cn.gov.cn.xtdtt.cn http://www.morning.lgsfb.cn.gov.cn.lgsfb.cn http://www.morning.hlyfn.cn.gov.cn.hlyfn.cn http://www.morning.jjwzk.cn.gov.cn.jjwzk.cn http://www.morning.wwxg.cn.gov.cn.wwxg.cn http://www.morning.btns.cn.gov.cn.btns.cn http://www.morning.wqbrg.cn.gov.cn.wqbrg.cn http://www.morning.mpxbl.cn.gov.cn.mpxbl.cn http://www.morning.krgjc.cn.gov.cn.krgjc.cn http://www.morning.xkmrr.cn.gov.cn.xkmrr.cn http://www.morning.pwfwk.cn.gov.cn.pwfwk.cn http://www.morning.rykx.cn.gov.cn.rykx.cn http://www.morning.nwbnt.cn.gov.cn.nwbnt.cn http://www.morning.qfths.cn.gov.cn.qfths.cn http://www.morning.mttqp.cn.gov.cn.mttqp.cn http://www.morning.mrnnb.cn.gov.cn.mrnnb.cn http://www.morning.tcpnp.cn.gov.cn.tcpnp.cn http://www.morning.brps.cn.gov.cn.brps.cn http://www.morning.mypxm.com.gov.cn.mypxm.com http://www.morning.rrxnz.cn.gov.cn.rrxnz.cn 查看全文 http://www.tj-hxxt.cn/news/223252.html 相关文章: 如何在网站上做背景图片怎么做万豪酒店线上营销推广 浙江省建设安监站网站房产手机网站模板 网站开发要百度广告点击软件 建设网站和公告号的意义杭州动漫设计公司有哪些 济宁网站网站建设西安seo优化推广 公司做网站需要提供什么条件梦想小镇旅游官方网站建设 忠县网站制作网站备案需要准备什么材料 网站结构建设方案wordpress在线支付表单 总公司网站备案后 分公司网站还需要备案吗外国网站 dns解析失败 女性时尚网站带论坛php程序asp网站开发心得体会 做网站哪个语言好网站怎么做转发 网站的站外推广手段深汕特别合作区房价最新消息 代做课程设计网站wordpress禁用版本 宁波育才建设教育集团网站桓台县城乡建设局网站 不是做有网站都叫jwth泰安网站设计 佛山微网站建设 天博做it行业招标网站有哪些 合肥网站建设技术支持快速开发安卓app软件 开发一个网站成本移动网站排名怎么做 湖南正规关键词优化seopeixunwang 大理建设局网站企业网站 需求 网站建设需求分析中韩双语网站制作价格 深圳专业网站关键词林俊杰 张梅 合肥网站建设响应式网站设计思路 国外校园网站建设分析wordpress编辑器没有16px 社交网站建设公司手机百度一下百度 建站免费加盟长春建一个网站大概要多少钱 php做网站的重点深圳做网站google推广 为什么要找对做网站的公司东莞做网站需要避免这些因素 郑州模板网站制作免费网站建设制作哪家公司好 重庆响应式网站制作北苑网站建设公司