是否可以从PDF文件创建视频


Is this possible to create video from PDF files?

我想从pdf文件制作视频。可能吗?我用ffmpeg从图像创建视频,但没有能够从PDF文件创建视频。

以下是将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);

假设您的 PDF 文件位于您的工作目录中,要从一组 PDF 文件创建电影文件,您可以执行:

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

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


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

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')

仅供参考:

  • Imagemagick Convert PDF to JPEG: FailedToExecuteCommand '"gswin32c.exe"/PDFDelegateFailed --> 这是未安装 Ghostscript 时收到的错误消息。
  • 将当前目录中的每个pdf转换为png -->转换不支持批量转换,这与mogrify不同。
  • FFMPEG要求图像具有一些非常具体的命名约定,这与转换不同,转换只是采用字典顺序。
  • 使用Imagemagick将图像转换为视频:视频的背景是黑色的,而图片的背景是白色的
  • 如何在 300 万个 JPG 文件上运行 mogrify? -> mogrify 一次只能处理一个文件,但可以使用xargs

您可以将PDF转换为图像,然后使用旧方法制作视频

视频

中的标准 FPS(每秒帧数(约为 30,这就是为什么将其保留为常规分页的常规文档格式是不切实际的。有一种方法可以将pdf文件转换为图像,然后您可以在视频中使用它。