返回顶部
首页 > 资讯 > 后端开发 > Python >Python操作PDF文件之实现A3页面转A4
  • 508
分享到

Python操作PDF文件之实现A3页面转A4

2024-04-02 19:04:59 508人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录1. 需求概述2. 代码实现1. 需求概述 最近接到一份pdf资料需要打印,奈何页面是如图所示的A3格式的,奈何目前条件只支持打印A4。 我想要把每页的一个大页面裁成两个小的页面

1. 需求概述

最近接到一份pdf资料需要打印,奈何页面是如图所示的A3格式的,奈何目前条件只支持打印A4。

我想要把每页的一个大页面裁成两个小的页面,以便打印工作的顺利进行。

遂决定写一段python代码,来实现该功能。

2. 代码实现

首先在当前目录下创建一个Python文件,并编辑以下代码。

导入相关库后,代码共定义三个函数,

第一个函数将pdf拆分为多个图片,放在自动新建的images1文件夹中。

第二个函数则将每个图片进行切割,切割后的图片放在自动创建的images2文件夹中。

第三个函数则将images2文件夹中的每个图片合并成为pdf。

import fitz
import time
import os
import cv2
from fpdf import FPDF
from PIL import Image


# 将pdf分割为图片,并建立一个images1文件夹保存之 传入要拆解的pdf文件名
def to_image(file_name):
    dir1 = "images1"
    if not os.path.exists(dir1):
        os.mkdir(dir1)
    time_start = time.time()
    doc = fitz.open(file_name)
    rotate = int(0)
    zoom_x = 2.0
    zoom_y = 2.0
    trans = fitz.Matrix(zoom_x, zoom_y)
    print("%s开始转换..." % file_name)

    pg = 0
    for page in doc:
        timep_start = time.time()
        pg += 1
        pm = page.get_pixmap(matrix=trans, alpha=False)
        new_full_name = dir1 + "/" + file_name.split(".")[0]
        filename1 = "{0:s}{1:0>3D}.jpg".fORMat(new_full_name, pg)
        pm.save(filename1)
        timep_end = time.time()
        print('第 ' + str(pg) + ' 页生成图片累计用时:' + str(timep_end - timep_start))

    time_end = time.time()
    print('拆解累计用时:' + str(time_end - time_start))


# 将images1文件夹中的每个图片,左右分割为两张,并新建images2文件夹以保存文件
def cut_img():
    for img in os.listdir("images1"):
        image = cv2.imread("images1/" + img)
        x0 = int(image.shape[1]/2)
        dir2 = "images2"
        if not os.path.exists(dir2):
            os.mkdir(dir2)
        img1 = image[:, 0:x0]
        img2 = image[:, x0:]
        cv2.imwrite(dir2 + "/" + img[:-4] + '1.jpg', img1)
        cv2.imwrite(dir2 + "/" + img[:-4] + '2.jpg', img2)


# 将images2文件夹中的图片合并成为一个pdf,按照文件名的顺序 传入输出的pdf文件名
def makePdf(pdfFileName):
    listPages = ["images2/" + imgFileName for imgFileName in os.listdir('images2')]
    cover = Image.open(listPages[0])
    width, height = cover.size
    pdf = FPDF(unit="pt", format = [width, height])
    for page in listPages:
        pdf.add_page()
        pdf.image(page, 0, 0)
    pdf.output(pdfFileName, "F")


# 执行
if __name__ == "__main__":
    to_image("test.pdf")
    cut_img()
    makePdf("result.pdf")

处理后得到的文件,即result.pdf,打开后效果如下图所示:

可以看到页面成功地被分割,并由原来的11页变成了22页。非常的完美,打印工作可以顺利进行了。

到此这篇关于Python操作PDF文件之实现A3页面转A4的文章就介绍到这了,更多相关Python PDF A3页面转A4内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python操作PDF文件之实现A3页面转A4

本文链接: https://lsjlt.com/news/120868.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python操作PDF文件之实现A3页面转A4
    目录1. 需求概述2. 代码实现1. 需求概述 最近接到一份PDF资料需要打印,奈何页面是如图所示的A3格式的,奈何目前条件只支持打印A4。 我想要把每页的一个大页面裁成两个小的页面...
    99+
    2024-04-02
  • 基于Python实现网页文章转PDF文档
    我们有时候看到一篇好的文章,想去保存下来,传统方式一般是收藏书签、复制粘贴到文档或者直接复制链接保存,但这样一次两次还好,数量多了,比较麻烦不说,还可能不好找~ 这个时候,Pyth...
    99+
    2024-04-02
  • python之day3(文件操作、字符转
    文件操作 f=open(“yesterday”,”r”,encoding=”utf-8”)  #以只读模式打开文件data=f.read()                             #读取所有内容data2=f.read()...
    99+
    2023-01-31
    字符 操作 文件
  • Python面向对象之文件操作
    文件的概念 文件的概念和作用 计算机的文件,就是存储在某种长期存储设备上的一段数据;长期存储设备包括:U盘,硬盘,移动硬盘,光盘,等; 文件的作用:将数据长期保存,在需要的时候使用; 文件的存储方式 在计算机中,文件是以二进制的形式保...
    99+
    2023-01-31
    面向对象 操作 文件
  • Python实现网页文件转PDF文件和PNG图片的示例代码
    目录一、html网页文件转pdf二、html网页文件转png一、html网页文件转pdf #将HTML文件导出为PDF def html_to_pdf(html_path,pdf_p...
    99+
    2024-04-02
  • Python怎么将pdf转为图片?Python如何实现pdf文件转图片
    而pdf则是用来保存一些内容已经确定好的数据,因为pdf是无法直接修改内容的,所以也会经常将pdf转为图片来保存。本文就将会来介绍一下pdf转图片的方法,往下看看吧。 1.pdf转图片的话主要实现所需要的模块叫做PyMuPDF,它就是用来...
    99+
    2023-09-02
    python Powered by 金山文档
  • Python批量实现Word、EXCLE、PPT转PDF文件
     一、绪论背景         在日常办公和文档处理中,有时我们需要将多个Word文档、Excel表格或PPT演示文稿转换为PDF文件。将文档转换为PDF格式的好处是它可以保留文档的布局和格式,并且可以在不同平台上进行方便的查看和共享。 ...
    99+
    2023-09-25
    win32com 办公自动化 批量实现
  • jsp文件操作之如何实现读取操作
    这篇文章主要介绍jsp文件操作之如何实现读取操作,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!文件操作是网站编程的重要内容之一,asp关于文件操作讨论的已经很多了,让我们来看看jsp中是如何实现的。   这里用到了两...
    99+
    2023-06-03
  • Python实现文件及文件夹操作大全
    目录一、文件操作1.1 文件常规操作1.2 文件读写1.3 文件相关属性访问二、文件夹操作2.1 文件夹常规操作2.2 遍历文件夹2.3 文件夹相关属性访问三、其他相关操作3.1 工...
    99+
    2024-04-02
  • Python如何实现文件夹操作
    本文小编为大家详细介绍“Python如何实现文件夹操作”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何实现文件夹操作”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、文件操作1.1 文件常规操作操...
    99+
    2023-06-30
  • python开发之文件操作用法实例
    本文实例讲述了python开发之文件操作用法。分享给大家供大家参考,具体如下: 先来看看官方API:os-Miscellaneous operating system interfaces 下面是我做的de...
    99+
    2022-06-04
    实例 操作 文件
  • python之文件的读写和文件目录以及文件夹的操作实现代码
    为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成操作之后可以迅速关闭文件,防止一些无用的文件对象占用内存。举个例子,对文本文件读取: file_object = open('thefile...
    99+
    2022-06-04
    文件 文件夹 代码
  • Python文件操作实战案例之用户登录
    目录一、前言二、案例:用户登录1.案例分析2.程序设计2.1 main()2.2 c_flag()2.3 init()2.4 print_login_menu()2.5 user_s...
    99+
    2024-04-02
  • Python实现简单的文件操作合集
    目录一、文件操作1.打开2.关闭 3.写入4.读取 二:python中自动开启关闭资源一、文件操作 1.打开 r+ 打开存在文件 文件不存在 报错 file = ...
    99+
    2024-04-02
  • Python中怎么实现简单文件操作
    Python中怎么实现简单文件操作,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。现在以txt为例简单的讲一下Python文件操作.首先是建立关联...假设在存在以下文件 e...
    99+
    2023-06-17
  • Python如何实现文件操作帮助类
    今天小编给大家分享一下Python如何实现文件操作帮助类的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、业务需求在使用Py...
    99+
    2023-07-05
  • umi插件开发仿dumi项目实现markdown文件转为页面
    目录引言处理导入错误loader返回渲染函数添加react处理loader用ts来写loader改变原来的loader创建新的loader配置webpack引言 前面我们已经成功将...
    99+
    2023-01-28
    umi markdown文件转页面 umi markdown markdown文件转页面
  • Python使用fliecmp实现比较文件的操作
    目录前言生成示例文件cmp()(比较文件)cmpfiles()(比较一组文件)dircmp()(比较目录)left_list与right_list忽略部分文件进行对比其他属性前言 对于文件的比较一般有几种,比如比较文...
    99+
    2022-06-02
    Python 比较文件 Python fliecmp比较文件 Python 文件比较
  • Python实现简单登陆验证(文件操作)
    代码主要功能:   利用Python实现简单的登陆验证,代码主要有两个部分组成:     第一部分:登陆页面,作用是实现用户名和密码的输入        利用两个输入函数input()来实现对用户名和密码的输入     第二部分:文件验...
    99+
    2023-01-30
    操作 简单 文件
  • Python对XML文件实现增删改查操作
    目录PYTHON 操作 XML读取XML文件遍历XML元素查找XML元素添加XML元素修改XML元素PYTHON 操作 XML 读取XML文件 关于XML的介绍 <data&g...
    99+
    2022-11-13
    Python XML增删改查 Python XML操作 Python XML修改
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作