Tiene que haber una manera de engancharse en Visio con COM y guardarlo como imagen.
¿Por qué no intentar escribir algo usted mismo, entonces, si usted sabe cómo usar el material COM? Después de todo, si no puede encontrar nada ya hecho para hacerlo, y sabe que puede averiguar cómo hacerlo usted mismo, ¿por qué no escribir algo para hacerlo usted mismo?
EDIT: Elaborar un poco sobre lo que dije en mi comentario: escribir un script de algún tipo parece ser su mejor opción en esta situación, y Python, al menos, sería bastante útil para eso, usando los comxipos biblioteca que se encuentra aquí: http://starship.python.net/crew/theller/comtypes/ Por supuesto, como dije, si prefiere usar un lenguaje de scripting diferente, entonces podría intentar usarlo; la cuestión es que realmente solo he usado COM con VBA y Python en este momento (aparte, Microsoft tiende a referirse a "automatización" en estos días en lugar de referirse específicamente a COM, creo). Lo bueno de Python es que es un lenguaje interpretado y, por lo tanto, solo necesita una versión del intérprete para los diferentes sistemas operativos que está utilizando, con versiones para Windows, OSX, Linux, Unix, etc. Por otro lado, dudo que pueda usar COM en no -Sistemas de Windows sin algún tipo de hack, por lo que es muy posible que tenga que analizar los datos en los archivos fuente directamente (y aunque los formatos predeterminados de Visio parecen usar alguna forma de XML, es probable que sea uno de esos formatos propietarios que a Microsoft parece gustarle)
Si usted no ha utilizado Python antes, la documentación de Python tiene un buen tutorial para que la gente comenzó: http://docs.python.org/3.1/tutorial/index.html
Y, por supuesto, usted quiere que el intérprete de Python en sí: http://python.org/download/releases/3.1/ (en cuenta que puede tiene que agregar manualmente el directorio de Python a la variable de entorno PATH después de la instalación.)
Cuando escriba el script, probablemente tenga la sintaxis para ejecutar el script como "python visioexport.py <source/original file[ with path]>[ <new file[ with path]>]
" (suponiendo que el archivo de script está en su Directorio de Python), con el nuevo archivo predeterminado a un archivo del mismo nombre y en la misma carpeta/directorio que el original (albe con una extensión diferente; de hecho, si lo desea, puede configurarlo para exportarlo a múltiples formatos, con el formato predeterminado al de la extensión predeterminada que elija y al ser especificado por una extensión alternativa de usted, especifique uno en el nombre del archivo.Además, es probable que pueda configurarlo de modo que si solo tiene el nuevo nombre de archivo después del archivo de origen, no se especifica ninguna ruta, se guardará con ese nuevo nombre de archivo en el directorio del archivo de origen. Y, por supuesto, si no especifica una ruta para el archivo fuente, solo un nombre de archivo, puede configurarlo para obtener el archivo del directorio actual).
Sobre el tema de los formatos de archivo: me parece que la conversión a SVG podría ser lo mejor que se puede hacer, ya que sería más eficiente y reflejaría mejor el estado de las imágenes originales como imágenes vectorizadas. Por otro lado, la conversión de un formato de Visio a SVG no es perfecta (o, al menos, no estaba en Visio 2003; no puedo encontrar una fuente de información similar a this one para Visio 2007), y como se ve here, puede que tenga que modificar el archivo XML resultante (aunque eso podría hacerse utilizando el script, después de exportar el archivo, a través de partes de la biblioteca estándar de Python). Si no te importa el tamaño de archivo adicional de los mapas de bits, y prefieres no tener que incluir código adicional para reparar los archivos SVG resultantes, entonces probablemente solo tengas que ir con un formato de mapa de bits como PNG.
Obtengo un "Este nombre de archivo no es válido."NUM: -2032466859 error al invocar:" Vis2Img.exe DAG.vsd DAG.gif "de la línea de comandos. Agregar 0 o 1 al comando para especificar un número de página no ayuda. Lo veré más cuando Estoy fuera del trabajo. Gracias por un gran punto de partida al menos. –
Sí, necesitas la ruta completa tal como está configurada ... Podrías modificarla bastante fácilmente para pasar de forma predeterminada a app.path para encontrar la carpeta para un archivo, si no hay una ruta completa presente ... –
Vis2Img.exe "' cygpath -w -a DAG.vsd' "" 'cygpath -w -a DAG.gif'" al rescate en cygwin bash :). Gracias Jon. –