我正在尝试将两个A4 PDF页面缩小并合并为一个A4页面,以便我有;
_____ _____
| | | |
| p1 | | p2 |
| | | |
|_____| |_____|
我会得到;
_____
| p1 |
|.....|
| p2 |
|_____|
作为一个新的PDF,在该页面上有两个A5大小的页面。与您在纸上每页打印两页的方式类似。
我已经研究了pyPDF(http://pybrary.net/pyPdf/)ReportLab(http://www.reportlab.com),但我似乎无法找到如何缩小和合并这样的方法。< / p>
任何提示?
谢谢!
答案 0 :(得分:3)
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)
答案 1 :(得分:0)
我会这样做(不一定是最好的方式,但使用我可用的工具)将使用Ghostcript的pdf2ps
转换为PostScript,然后附加N-up PostScript前导码(PS是一个完整的编程语言,您可以重新定义像“showpage”这样的内置函数,以便将N-up或posterization直接添加到文档中)然后我将使用ps2pdf
转换回来。
Offhand我没有找到PostScript N-up实用程序的已发布版本,但您可以使用其他语言编写的几个用于操作PostScript文档本身的文档,例如{{ 3}}