如何在Python中将数字列表转换为long png

时间:2016-02-26 23:46:37

标签: python pdf matplotlib png wand

我有一个matplotlib数据列表,我想知道是否有任何方法可以将它们连接成一个长png文件。我尝试过使用MagickWand进行实验,但似乎没有办法将数字输入canvas.Image

我也尝试使用reportlab创建pdf,然后尝试用wand进行解释,但每次尝试在控制台中打开wand.image.Image(filename=pdf_file_name)时,都会打印{{1到输出。

我有什么东西可以忽略,和/或是否有更好的方法来做到这一点。最好是PNG文件。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

假设所有数字都包含在一个PDF中,您可以使用迭代每个页面&将它们附加到单个PNG图像。可根据需要修改此技术以用于多个图形。

from wand.image import Image

pdf_file='/path/to/figures.pdf'

# Read figures
with Image(filename=pdf_file) as figures:
  # Create blank image with the dimensions of all pages/figures
  with Image(width= figures.width,
             height=figures.height*len(figures.sequence)) as canvas:
    top=0                            # Position offset
    for page in figures.sequence:    # Iterate over each page in figures
      canvas.composite(page, 0, top) # Composite page on to canvas
      top += page.height             # Adjust offset
   canvas.save(filename="out.png")   # Write out long png