¿Cómo imprimo automáticamente archivos de imagen en archivos pdf usando las líneas de comando de Windows?

¿Cómo imprimo automáticamente archivos de imagen en archivos pdf usando las líneas de comando de Windows?

Editar: Parece que mi amigo puede instalar IrfanView si eso ayuda.

Estoy ayudando a un amigo a automatizar la tarea de imprimir cada archivo de imagen de una carpeta en varios archivos PDF: cada imagen va a un PDF diferente en una computadora con Windows 10. Mi amigo trabaja en un entorno corporativo con reglas estrictas con respecto a la instalación y, como tal, hay muchas cosas que no se pueden instalar, como

  • no en una máquina virtual
  • hasta ahora sé que no puede instalar imagemagick, 2pdf, foxit
  • TIENE Acrobat Reader y PDF-XChange Pro, aunque no estoy seguro de si ayudan, hasta ahora no he encontrado nada útil con este software.
  • Algunos de los archivos de imágenes para imprimir están en estos archivos tiff especiales en los que una sola imagen tiene varias "páginas" de imágenes, creo que se llama mtif o multifif. Cuando el script los imprime, solo produce un PDF con la primera "página". El resultado deseable sería un único archivo PDF de varias páginas.
  • cuanto más "en segundo plano" se ejecute el script, mejor.

Lo que he hecho hasta ahora es un script por lotes muy simple que aprovecha la impresora virtual "Microsoft Print to PDF" y la línea de comando mspaint. Si de alguna manera pudiera activar la impresora "Microsoft Print to PDF" mediante otro comando además de mspaint, tal vez al menos podría resolver el problema de imprimir multitif en un solo PDF con todas las "páginas" dentro. Digo esto porque si imprimo el mtif usando la GUI de mspaint replico el mismo problema. (un mtif que produce un PDF con una sola página").

ACTUALIZACIÓN: También podría ser simplemente una coincidencia y el problema se debe de alguna manera a que se trata de una operación por lotes. El /print="Microsoft Print to PDF" de IrfanView produce el mismo resultado indeseable de un PDF de una sola página con solo la primera imagen de dicho multitiff como salida de dicho comando.

Este es el script por lotes que he creado hasta ahora.

@echo off
echo This script will print all the images in this foldes
echo so long as they are openable with mspaint 
echo and print in a new, unique folder inside %~dp0

for %%i in (*.jpg) do (
  mspaint /pt %%i "Microsoft Print to PDF"
)

for %%i in (*.jpeg) do (
  mspaint /pt %%i "Microsoft Print to PDF"
)

for %%i in (*.png) do (
  mspaint /pt %%i "Microsoft Print to PDF"
)

for %%i in (*.tif) do (
  mspaint /pt %%i "Microsoft Print to PDF"
)

Mi amigo ya me agradeció con el script ya que, aunque el script pide el nombre y destino de cada archivo pdf, igual le ahorra un par de tiempo y clics. Quiero hacerlo mejor y todavía existe el problema con los archivos mtif.

Tengo código preparado para crear la carpeta.

@echo off
mkdir Img2Pdf%date:~-4,4%"-"%date:~-7,2%"-"%date:~-10,2%" - "%time:~0,2%"h"%time:~3,2%"m"%time:~6,2%"s"
pause

Y creo que no será ningún problema para mí agregar la copia/mover el archivo resultante a la carpeta o agregar un nombre al archivo. Pero la falta de opciones de impresión que he encontrado hasta ahora ha sido una tarea bastante difícil. ¿Cuáles son mis opciones? ¡Supongo que ninguno!

Gracias por su tiempo leyendo esto, si hay alguna manera de mejorar la pregunta, hágamelo saber, lo siento si el código/ortografía puede incomodar a algunos de ustedes ya que no es el código más optimizado ni la redacción más correcta, les pido que tengan paciencia. conmigo y sea amable, si es posible.

Respuesta1

El proceso de impresión a archivo PDF necesita más tiempo, debería ser lento, le sugiero que pueda convertir archivos de imagen a archivos PDF directamente, la conversión directa es muy rápida y sin pérdidas de calidad, por ejemplo, puede usar VeryPDF Image to PDF Converter software para convertir por lotes todos sus archivos de imagen a archivos PDF sobre la marcha.

información relacionada