library - img2pdf python
Convertir un PDF a una serie de imágenes con Python (5)
Esto es lo que funcionó para mí usando el módulo python ghostscript (instalado por ''$ pip install ghostscript''):
import ghostscript
def pdf2jpeg(pdf_input_path, jpeg_output_path):
args = ["pdf2jpeg", # actual value doesn''t matter
"-dNOPAUSE",
"-sDEVICE=jpeg",
"-r144",
"-sOutputFile=" + jpeg_output_path,
pdf_input_path]
ghostscript.Ghostscript(*args)
También instalé Ghostscript 9.18 en mi computadora y probablemente no hubiera funcionado de otra manera.
Estoy intentando usar Python para convertir un PDF de varias páginas en una serie de archivos JPEG. Puedo dividir el PDF en páginas individuales con la suficiente facilidad con las herramientas disponibles, pero no he podido encontrar nada que pueda encubrir archivos PDF a imágenes.
PIL no funciona, ya que no puede leer archivos PDF. Las dos opciones que he encontrado están usando GhostScript o ImageMagick a través del shell. Esta no es una opción viable para mí, ya que este programa debe ser multiplataforma, y no estoy seguro de que ninguno de esos programas esté disponible en las máquinas en las que se instalará y utilizará.
¿Hay alguna biblioteca de Python que pueda hacer esto?
No puedes evitar la dependencia de Ghostscript. Incluso Imagemagick confía en Ghostscript para sus funciones de lectura de PDF. La razón de esto es la complejidad del formato PDF: un PDF no solo contiene información de mapas de bits, sino principalmente formas vectoriales, transparencias, etc. Además, es bastante complejo descubrir cuáles de estos objetos aparecen en cada página.
Por lo tanto, la representación correcta de una página PDF está claramente fuera del alcance de una biblioteca de Python pura.
La buena noticia es que Ghostscript está preinstalado en muchas ventanas y sistemas Linux, porque también lo necesitan todas las impresoras PDF (excepto Adobe Acrobat).
Quizás sea relevante: http://www.swftools.org/gfx_tutorial.html
Si usa linux, algunas versiones vienen con una utilidad de línea de comandos llamada ''pdftopbm'' lista para usar. Echa un vistazo a netpbm
ImageMagick tiene enlaces de Python .