Necesito convertir unos 500k correos electrónicos en PDF con capacidad de búsqueda. Por "con capacidad de búsqueda" me refiero a que MacOS sea capaz de escanearlos en busca de palabras específicas en lugar de tratarlos simplemente como una imagen. Mis búsquedas, hasta ahora, de una herramienta para hacer esto han terminado en aplicaciones de bases de datos propietarias y convertidores sketchball x-to-pdf demasiado caros que básicamente realizan la funcionalidad integrada de MacOS de Print To PDF. ¿Existe una herramienta única o dos herramientas complementarias que se puedan utilizar juntas en Terminal para convertir por lotes todos los correos electrónicos en PDF con capacidad de búsqueda?
Respuestas
¿Demasiados anuncios?Tuve que hacer esto con ~180 correos electrónicos, y utilicé una herramienta de comando que encontré en GitHub que convierte .eml a .pdf a través de .html: https://github.com/nickrussler/eml-to-pdf-converter
Tarda un poco en convertir cada archivo .eml - 22 minutos para 186 correos con muchas imágenes - así que probablemente no sea útil para una tarea de 500k correos. (Tal vez si usted es reeealmente sin prisa y sin miedo al multiprocesamiento) Sin embargo, si te sirve de ayuda a ti o a alguien más, aquí tienes cómo conseguí que funcionara en la línea de comandos bash:
-
git clone
el repo -
Instale el
wkhtmltopdf
desde el binario (instalando conpip
es insuficiente) desde aquí: https://wkhtmltopdf.org/downloads.html -
Desde el repositorio clonado, genere el archivo .jar del convertidor de correo electrónico:
./gradlew shadowJar
-
Ejecutar un bucle for para convertir cada archivo en el .mbox (o un directorio de .eml):
for file in /path/to/mailbox.mbox/*; do java -jar ./build/libs/emailconverter-2.0.1-all.jar "$file"; done
Hace poco me encontré con ¿Cómo abrir archivos eml? en AskUbuntu. Sugiere usar munpack, que es parte de mpack . Puede convertir un eml
a html
o simplemente txt
. Existen varias herramientas para convertir html
a un pdf
. WeasyPrint es uno de ellos. Puede instalarlo a través de pip
. mpack también está disponible en Homebrew . Asumiendo que tienes Homebrew instalado, se instala fácilmente a través de:
brew install mpack
A continuación, ejecute
munpack -t <my.eml>