2012-05-14 29 views

回答

3

这里是脚本将PDF转换为视频:

exec("convert -geometry 1600x1600 -density 200x200 -quality 100 -resize 800x $pdf_path $temp_images"); 
exec("ffmpeg -loop 1 -f image2 -framerate 0.5 -b 1800 -i $temp_images_wildcard -c:v libx264 -preset slow -tune stillimage -r 5 -t 22 -y $frame_target 2>&1",$output); 
+0

转换:缺少图像文件名 – KJW

2

您可以将PDF转换为图像,然后使用旧的方法来生成视频

0

标准FPS(每秒帧数)的视频是30岁左右,这就是为什么定期呼叫保持它在通常的文档格式是不切实际的。 There's a way将PDF文件转换为图像,然后您可以在视频中使用它。

1

假设您的PDF文件在你的工作目录,创建一个从一组PDF文件的电影文件可以执行:

exec("mogrify -verbose -density 500 -resize 800 -format png ./*.pdf") 
exec("convert -delay 600 *.png movie.mp4") 

这需要安装ImagemagickGhostscript。适用于Linux/Mac OS X/Microsoft Windows。不是矢量的。


如果你想生成一些PDF文件来测试命令,这里是一个Python脚本生成的PDF文件:

import pandas as pd 
import numpy as np 
from matplotlib import pyplot as plt 

for i in range(10): 
    np.random.seed(i) 
    dates = pd.date_range('1/1/2000', periods=50) 
    print('dates: {0}'.format(dates)) 
    df = pd.DataFrame(np.random.randn(len(dates), 1), index=dates.astype(str), columns=['A']) 

    print('df: {0}'.format(df)) 
    plt.figure(figsize=(60,15)) 
    df.plot(y='A', use_index=True) 
    plt.xticks(rotation=70) 
    plt.savefig('plot_{0}.pdf'.format(i), dpi=300, bbox_inches='tight') 

FYI: