在 Python 中缩小和合并 PDF

2024-02-07

我正在尝试将两个 A4 PDF 页面缩小并合并为一个 A4 页面,这样如果我有的话;

 _____        _____        
|     |      |     |
| p1  |      | p2  | 
|     |      |     |
|_____|      |_____|
         

我会得到;

 _____             
| p1  |    
|.....| 
| p2  |  
|_____|      

作为一个新的 PDF,其中一页有两个 A5 大小的页面。类似于在纸上每页打印两页的方式。

我调查过pypdf https://pypi.org/project/pypdf/ and 报告实验室 http://www.reportlab.com但我似乎找不到如何像这样缩小和合并。

有什么提示吗?

Thanks!


pdfnup有这个功能(http://pypi.python.org/pypi/pdfnup)#

e.g.

from pyPdf import PdfFileWriter, PdfFileReader
from pdfnup import generateNup

output = PdfFileWriter()
input1 = PdfFileReader(file("in.pdf", "rb"))

page1 = input1.getPage(0)
page2 = input1.getPage(1)

output.addPage(page1)
output.addPage(page2)

outputStream = file("out.pdf", "wb")
output.write(outputStream)
outputStream.close()

generateNup("out.pdf", 2)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Python 中缩小和合并 PDF 的相关文章

  • 如何使用 Ghostscript DLL 将 PDF 转换为 PDF/A

    如何使用 GhostScript DLL 将 PDF 转换为 PDF A 我知道我必须调用 gsdll32 dll 的导出函数 其名称为 gsapi init with args 但如何传递正确的参数 顺便说一句 我正在使用 C 请尝试从命
  • python 中的并行处理

    在 python 2 7 中进行并行处理的简单代码是什么 我在网上找到的所有示例都很复杂 并且包含不必要的代码 我该如何做一个简单的强力整数分解程序 在每个核心 4 上分解 1 个整数 我真正的程序可能只需要2个核心 并且需要共享信息 我知
  • opencv水印周围的轮廓

    我想在图像中的水印周围画一个框 我已经提取了水印并找到了轮廓 但是 不会在水印周围绘制轮廓 轮廓是在我的整个图像上绘制的 请帮我提供正确的代码 轮廓坐标的输出为 array 0 0 0 634 450 634 450 0 dtype int
  • 使用 python 中的公式函数使从 Excel 中提取的值的百分比相等

    import xlrd numpy excel Users Bob Desktop wb1 xlrd open workbook excel assignment3 xlsx sh1 wb1 sheet by index 0 colA co
  • 如何在Python中同时运行两只乌龟?

    我试图让两只乌龟一起移动 而不是一只接着另一只移动 例如 a turtle Turtle b turtle Turtle a forward 100 b forward 100 但这只能让他们一前一后地移动 有没有办法让它们同时移动 有没有
  • Python 中的流式传输管道

    我正在尝试使用 Python 将 vmstat 的输出转换为 CSV 文件 因此我使用类似的方法转换为 CSV 并将日期和时间添加为列 vmstat 5 python myscript py gt gt vmstat log 我遇到的问题是
  • 在没有模型的情况下将自定义页面添加到 django admin

    我正在尝试在没有模型关联的情况下向管理员添加自定义页面 这就是我迄今为止所取得的成就 class MyCustomAdmin AdminSite def get urls self from django conf urls import
  • 没有名为 StringIO 的模块

    我有Python 3 6 我想从另一个名为 run py 的 python 文件执行名为 operation py 的 python 文件 In operation py I do from cStringIO import StringI
  • 在 matplotlib 中的极坐标图上移动径向刻度标签

    From matplotlib 示例 http matplotlib org examples pylab examples polar demo html import numpy as np import seaborn as sbs
  • Tensorflow 与 Keras 的兼容性

    我正在使用 Python 3 6 和 Tensorflow 2 0 并且有一些 Keras 代码 import keras from keras models import Sequential from keras layers impo
  • 使用Python计算目录的大小?

    在我重新发明这个特殊的轮子之前 有没有人有一个很好的例程来使用 Python 计算目录的大小 如果例程能够很好地以 Mb Gb 等格式格式化大小 那就太好了 这会遍历所有子目录 总结文件大小 import os def get size s
  • Python:IndexError:修改代码后列表索引超出范围

    我的代码应该提供以下格式的输出 我尝试修改代码 但我破坏了它 import pandas as pd from bs4 import BeautifulSoup as bs from selenium import webdriver im
  • ANTLR 获取并拆分词法分析器内容

    首先 对我的英语感到抱歉 我还在学习 我为我的框架编写 Python 模块 用于解析 CSS 文件 我尝试了 regex ply python 词法分析器和解析器 但我发现自己在 ANTLR 中 第一次尝试 我需要解析 CSS 文件中的注释
  • 将seaborn.palplot轴添加到现有图形中以可视化不同调色板

    将seaborn人物添加到子图中是usually https seaborn pydata org examples cubehelix palette html创建图形时通过传递 ax 来完成 例如 sns kdeplot x y cma
  • 在系统托盘中隐藏 tkinter 窗口 [重复]

    这个问题在这里已经有答案了 我正在制作一个程序来提醒我朋友的生日 这样我就不会忘记祝福他们 为此 我制作了两个 tkinter 窗口 1 First one is for entering name and birth date 2 Sec
  • Python SSL X509:KEY_VALUES_MISMATCH

    Python HTTPS server from http server import HTTPServer SimpleHTTPRequestHandler import ssl https stackoverflow com a 408
  • 混淆矩阵不支持多标签指示符

    multilabel indicator is not supported是我在尝试运行时收到的错误消息 confusion matrix y test predictions y test is a DataFrame其形状为 Horse
  • 如何与其他用户一起使用 pyenv?

    如何与其他用户一起使用 pyenv 例如 如果我在用户 test 的环境中安装了 pyenv 则当我以 test 身份登录时可以使用 pyenv 但是 当我以其他用户 例如 root 身份登录时如何使用 pyenv 即使你这么做了 我也会s
  • TKinter 中的禁用/启用按钮

    我正在尝试制作一个像开关一样的按钮 所以如果我单击禁用按钮 它将禁用 按钮 有效 如果我再次按下它 它将再次启用它 我尝试了 if else 之类的东西 但没有成功 这是一个例子 from tkinter import fenster Tk
  • 将上下文管理器的动态可迭代链接到单个 with 语句

    我有一堆想要链接的上下文管理器 第一眼看上去 contextlib nested看起来是一个合适的解决方案 但是 此方法在文档中被标记为已弃用 该文档还指出最新的with声明直接允许这样做 自 2 7 版起已弃用 with 语句现在支持此

随机推荐

  • 将字符串直接拆分为变量

    我想知道标准 JS 是否提供了一种在初始声明期间将字符串直接拆分为一组变量的方法 例如在 Perl 中我会使用 my a b c split str 在 Firefox 中我可以写 var a b c str split 但此语法不是 EC
  • 如何在oozie作业中指定多个libpath?

    我的 oozie 工作使用 2 个 jarx jar and y jar以下是我的 job properties 文件 oozie libpath lib oozie use system libpath true 当两个 jar 都位于
  • 如何将输入图像提供给经过训练的模型?预期 input_1 有 4 个维度,但得到的数组形状为 (224, 224, 3)

    import tensorflow as tf from tensorflow import keras from keras models import load model from keras preprocessing import
  • 如何使用 Inno Setup 更改可执行文件权限?

    我通过 InnoIDE 中的向导创建了一个非常简单的 inno 脚本 但是 普通用户可以运行部署的可执行文件 如何强制用户必须通过脚本以管理员身份运行它 Setup AppId 03E6645E 2C53 4E90 967B D0833A8
  • std::string size() 是 O(1) 操作吗?

    std string size 是 O 1 操作吗 我使用的STL实现是VC 中内置的 如果您问 MSVC 的 string size 实现是否具有恒定的复杂性 那么答案是肯定的 但唐 韦克菲尔德 https stackoverflow c
  • Java - 父类正在调用子类的方法?

    抱歉 我对编码还很陌生 可能还没有掌握所有术语 希望您仍然能理解我的问题 我想要得到的输出是 Cost for Parent is 77 77 Cost for Child is 33 33 但是 我得到了这个 Cost for Paren
  • Angular - Prod Build 不生成唯一的哈希值

    Angular 生产构建不会在我的项目中生成唯一的哈希值 以下是构建日志截图 无法在新的 Angular cli 项目中重现此问题 似乎我的项目中存在一些问题 我正在使用角度 6 0 3 下面是 angular json schema no
  • Office 365 Rest API 读取“回复”字段

    我正在使用此处记录的其余 APIhttps msdn microsoft com office office365 APi mail rest operations https msdn microsoft com office offic
  • ARM GCC 生成函数序言

    我提到 ARM 工具链可以生成不同的函数序言 实际上 我看到两个 obj 文件 vmlinux 具有完全不同的函数序言 第一种情况如下所示 push some registers maybe fp lr lr ommited in leaf
  • 如何使用 gganimate 获得完整而不是部分的饼图

    我在制作动画饼图时遇到问题gganimate and ggplot 我每年都想吃普通的馅饼 但我的产量完全不同 您可以使用以下代码查看示例mtcars library ggplot2 library gganimate Some Data
  • 从数据框中选择每第 n 行

    我有一个数据表 想要从中提取每第五行以创建一个新表 有一个命令可以实现这个目的吗 这是我的数据示例 count Idf Nr block 1 1233 B12 2 1233 B12 3 1446 B12 4 1446 B12 5 365 B
  • Ansible 复制与同步

    使用 Ansible Synchronize 与 Copy 模块有何优缺点 据我所知 同步具有复制所具有的所有功能 但速度可能要快得多 因此我正在考虑更改所有内容以使用同步 同步的唯一缺点是需要 rsync 这在 Linux 环境中似乎相当
  • jQuery $(document).ready 函数的缩写形式

    我使用了很多 jQuery 所以我必须不断地输入 document ready函数来放置 jQuery 代码 该函数有更短的形式吗 允许使用以下三种语法 Syntax 1 document ready function Syntax 2 r
  • MySQL WHERE 过程中的条件被忽略

    我正在尝试制定一个带有参数的程序 但是当我在一个WHERE情况就好像从未存在过一样 他们只是被忽视了 DELIMITER DROP PROCEDURE IF EXISTS p CREATE PROCEDURE p IN player TEX
  • WPF如何将mousedown(命令/操作)绑定到标签

    我可以找到很多到按钮的命令鼠标绑定 但是如果我想将 mousedown 事件绑定到绑定 MVVM 模式 怎么办 我找不到答案 可能是我看不到的很小的东西 但有人可以帮助我吗 xaml
  • SQL Server 2008 R2 中的高效分页

    我想编写一个执行以下操作的存储过程 返回匹配查询的记录数 以确定向用户显示的页数 返回另一个记录集 其中包含当前页面查询中的某个记录子集 从我在 StackOverflow 上发现的另一个问题 抱歉 我丢失了链接 我发现我们是这样进行分页的
  • 在哪里可以找到有关 SharePoint 的优质编程资源? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我一直试图找到一本书籍或 Web 参考资料 让我更好地了解如何构建 测试 ASP NET 页面 控件和 Web 部件并将其部署到 Shar
  • 防止移动 unique_ptr C++11

    有什么方法可以阻止用户显式获取唯一指针的所有权 std move Make it const The unique ptr移动构造函数需要一个非常量右值引用 因此不能用 a 调用const object const unique ptr
  • Django ORM 中 select_lated 和 prefetch_lated 有什么区别?

    在 Django 文档中 select related https docs djangoproject com en stable ref models querysets select related 遵循 外键关系 在执行查询时选择其
  • 在 Python 中缩小和合并 PDF

    我正在尝试将两个 A4 PDF 页面缩小并合并为一个 A4 页面 这样如果我有的话 p1 p2 我会得到 p1 p2 作为一个新的 PDF 其中一页有两个 A5 大小的页面 类似于在纸上每页打印两页的方式 我调查过pypdf https p