Una solución multiplataforma con Python + convert: convertirá todos los archivos PDF del directorio actual en archivos PNG (puede cambiar a JPG si lo prefiere) multiproceso.
from __future__ import print_function
import os
import glob
import multiprocessing
def convert_to_png(pdf_filepath):
'''
Convert PDF file to PNG file
'''
png_filepath = '{0}.png'.format(pdf_filepath[:-4])
print('pdf_filepath: {0}'.format(pdf_filepath))
print('png_filepath: {0}'.format(png_filepath))
command = 'convert -background white -alpha off -geometry 1600x1600 -density 200x200 -quality 100 -resize 800x {0} {1}'.format(pdf_filepath, png_filepath)
print(command)
os.system(command)
def main():
pdf_filepaths = glob.iglob(os.path.join('.','*.pdf'))
pool = multiprocessing.Pool(processes=4)
pool.map(convert_to_png, pdf_filepaths)
pool.close()
pool.join()
print('done')
if __name__ == "__main__":
main()
#cProfile.run('main()') # if you want to do some profiling
Esto requiere que se instalen Imagemagick y Ghostscript . Funciona en Linux / Mac OS X / Microsoft Windows.
Si prefiere agregar el nombre de archivo en cada imagen, puede reemplazar el comando convert_to_png()
por:
command = 'convert -background white -alpha off -geometry 1600x1600 -density 200x200 -quality 100 -annotate +50+50 {2} -resize 800x {0} {1}'.format(pdf_filepath, png_filepath, os.path.basename(pdf_filepath))
(Ver -anotar documentación)
*.jpg
axargs
? Obtendrá los archivos defind
.