我正在尝试缩小并合并两个A4 PDF页面为一个A4页面,以便如果我有;
_____ _____
| | | |
| p1 | | p2 |
| | | |
|_____| |_____|我会得到;
_____
| p1 |
|.....|
| p2 |
|_____| 作为一个新的PDF,在一个页面上有两个A5大小的页面。类似于在纸上每页打印两页的方式。
我研究过pyPDF (http://pybrary.net/pyPdf/) ReportLab (http://www.reportlab.com),但我似乎找不到如何像这样缩小和合并。
有什么提示吗?
谢谢!
发布于 2010-11-10 10:59:51
pdfnup具有此功能(http://pypi.python.org/pypi/pdfnup)#
例如:
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)发布于 2010-11-10 09:38:21
我做这件事的方法(不一定是最好的方法,但使用我可用的工具)是使用Ghostcript的pdf2ps转换成PostScript,然后附加一个N-up PostScript前导(PS是一个完整的编程语言,你可以重新定义内置的,比如"showpage“,直接在文档中添加N-up或递减),然后我会用ps2pdf转换回来。
目前,我还没有找到PostScript N-up实用程序的发布版本,但您可以在谷歌上搜索用其他语言编写的、可以操作PostScript文档本身的几个程序,比如http://www.tardis.ed.ac.uk/~ajcd/psutils/上的那些程序
https://stackoverflow.com/questions/4140466
复制相似问题