我在一个项目上工作,该项目需要从用户的一些图像,然后创建一个PDF文件,其中包含所有这些图像。
在Python中有什么方法或工具可以做到这一点吗?例如,从image1 +图像2+图像3创建一个->文件?
发布于 2016-03-04 22:03:57
这是一个只适用于标准包的解决方案。matplotlib
有一个PDF后端,可以将图形保存到PDF。您可以创建一个带有子图的地物,其中每个子图都是您的一个图像。你有充分的自由来摆弄图形:添加标题,玩位置等。一旦你的图形完成,保存为PDF。每次调用savefig
都会创建另一个页面。
下面的示例在第1页和第2页上并排绘制了2幅图像。
from matplotlib.backends.backend_pdf import PdfPages
import matplotlib.pyplot as plt
from scipy.misc import imread
import os
import numpy as np
files = [ "Column0_Line16.jpg", "Column0_Line47.jpg" ]
def plotImage(f):
folder = "C:/temp/"
im = imread(os.path.join(folder, f)).astype(np.float32) / 255
plt.imshow(im)
a = plt.gca()
a.get_xaxis().set_visible(False) # We don't need axis ticks
a.get_yaxis().set_visible(False)
pp = PdfPages("c:/temp/page1.pdf")
plt.subplot(121)
plotImage(files[0])
plt.subplot(122)
plotImage(files[1])
pp.savefig(plt.gcf()) # This generates page 1
pp.savefig(plt.gcf()) # This generates page 2
pp.close()
发布于 2015-12-11 17:44:08
fpdf也是python。并且经常被使用。请参见PyPI / pip搜索。但也许它被从pyfpdf重命名为fpdf。来自功能: PNG、GIF和JPG支持(包括透明度和alpha通道)
https://stackoverflow.com/questions/2252726
复制相似问题