作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一份 32 页的 PDF 版家谱。与其将家谱全部放在一个非常大的 PDF 页面上(这是我想要的),不如将其格式化为一组 8 个单独的美国信纸大小的页面应该在整个宽度上缝合; 4 行这样就完成了树。每页边距均为22px。
如果您以表格形式将其可视化(其中数字代表 PDF 页码):
我已经尝试编写一些 Python 代码来执行此操作,但进展并不顺利。如何拼接 PDF,使其成为一个大页面而不是较小的单独页面?
感谢您的帮助。
编辑:这是我写的代码。很抱歉最初没有发布它。
from pyPdf import PdfFileWriter, PdfFileReader
STITCHWIDTH = 8;
currentpage = 1;
output = PdfFileWriter()
input1 = PdfFileReader(file("familytree.pdf", "rb"))
for(i=0; i<=4; i++)
output.addPage(input1.getPage(currentpage))
currentpage++;
#do something to add other pages to width
print "finished with stitching"
outputStream = file("familytree-stitched.pdf", "wb")
output.write(outputStream)
outputStream.close()
最佳答案
作为 Ben Jackson 的 suggestion 的替代品首先转换为 PostScript,并对 PostScript 文件进行“N-up”转换,还有一个名为 pdfjam 的脚本, 可以直接对 PDF 文件进行操作。
例子:
pdfjam --nup 8x4 --landscape --outfile output.pdf input.pdf
该脚本是 pdfpages LaTeX 包的包装器,在 another answer 中推荐。 .
关于python - 如何将多个 PDF 页面拼接成一个大 Canvas 式 PDF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6577090/
我是一名优秀的程序员,十分优秀!