Python PDF缩略图预览生成

Posted

技术标签:

【中文标题】Python PDF缩略图预览生成【英文标题】:Python PDF thumbnail preview generation 【发布时间】:2012-04-22 10:11:58 【问题描述】:

我正在寻找生成 pdf 文件的 jpeg 缩略图的方法。 我想在 Python 中做到这一点。 有没有图书馆或者谁能指导我怎么做?

谢谢

我正在开发 MacOS X Lion。 但我想在 Ubuntu 或 CentOS 上运行它。

【问题讨论】:

您是否会编辑您的问题以包括您正在使用的操作系统 - Windows/Linux/等? 使用 OS X Lion 但我想在 Ubuntu 或 CentOS 上运行它 我认为 ImageMagick 可以做到:***.com/questions/653380/converting-a-pdf-to-png 【参考方案1】:

您可以使用 ImageMagick apt-get install imagemagick on Ubuntu(它也有 Python lib PythonMagick)将 pdf 转换为图像

import subprocess
params = ['convert', 'pdf_file', 'thumb.jpg']
subprocess.check_call(params)

您还可以提供图像必须从 pdf 中生成的参数,例如

params = ['convert', '-density 300 -resize 220x205', 'pdf_file', 'thumb.jpg']
subprocess.check_call(params)

【讨论】:

您如何处理密码保护文件或错误文档等错误? 如果 PDF 有多个页面,这将在每页生成一个缩略图。您如何将其限制在第一页? @mlissner 您可以使用'pdf_file[0]' 仅生成第一页的缩略图。【参考方案2】:

如果您只需要在语法上这样做,为什么不使用这样的external CLI 工具:

os.system(r"ConvertPDFtoImage.EXE /S "C:\Input\Coffee.pdf" /T "C:\Output\Coffee.JPG" /C1  /1 * /5 200 /V")

例如在窗口中

【讨论】:

(你应该使用subprocess

以上是关于Python PDF缩略图预览生成的主要内容,如果未能解决你的问题,请参考以下文章

Unity Prefab 缩略图全黑无法预览

laravel 5.1中的PDF图像缩略图预览?

如何设置 PDFPage 标签并重绘缩略图?

使用 PDF.js 生成 pdf 的缩略图

在 Android 上从 pdf 生成缩略图

以 HTML 格式生成 PDF 文件的缩略图