今天在网上下载了一本书,解压后发现里边全部是jpg文件,一个一个看起来非常不方便,于是打算自己转换成PDF。
在网上找了几个代码确实能够转换成PDF,但是输出的格式或多或少都有点问题,于是自己花了点时间调试修改终于达到我想要的效果,顺便记录一下,避免后面的人走同样的弯路。
主要遇到了这些问题:
1、创建出来的PDF内容与图像的长宽比不一致,经过测试发现把宽和高对换一下就好了,正确的代码如下
width,height = landscape(A4)
Story.append(Image(front_cover, height, width))
2、把宽和高度对换后,总是报错,提示图片太大。经过查找资料,阅读reportlab的代码,发现使用SimpleDocTemplate创建PDF虽然简单,但是由于内置的PageTemplate没有设置Frame的padding
Frame.__init__(self, x1, y1, width, height, leftPadding=6, bottomPadding=6, rightPadding=6, topPadding=6, id=None, showBoundary=0, overlapAttachedSpace=None, _debug=None)
frameT =