Deve esserci un modo per collegarsi a Visio con COM e farlo salvare come immagine.
Perché non provare a scrivere qualcosa da soli, quindi, se si sa come usare la roba di COM? Dopotutto, se non riesci a trovare qualcosa già fatto per farlo, e sai che puoi capire come farlo da solo, perché non scrivere qualcosa per farlo da solo?
EDIT: Elaborazione un po 'su quello che ho dichiarato nel mio commento: scrivere uno script di qualche tipo sembra essere la scelta migliore in questa situazione, e Python, almeno, sarebbe abbastanza utile per questo, usando i comtypes libreria trovata qui: http://starship.python.net/crew/theller/comtypes/ Naturalmente, come ho detto, se si preferisce utilizzare un linguaggio di scripting diverso, si potrebbe provare a utilizzarlo; il fatto è che in questo momento ho usato solo COM con VBA e Python (per inciso, in questi giorni Microsoft tende a riferirsi a "Automazione" piuttosto che riferirsi specificamente a COM, credo.) La cosa bella di Python è che è un linguaggio interpretato, e quindi hai solo bisogno di una versione dell'interprete per i diversi sistemi operativi che stai usando, con versioni per Windows, OSX, Linux, Unix, ecc. D'altra parte, dubito che tu possa usare COM su non -I sistemi Windows senza una sorta di hack, quindi potresti dover analizzare i dati direttamente nei file sorgente (e anche se i formati di default di Visio sembrano utilizzare una qualche forma di XML, è probabilmente uno di quei formati proprietari che Microsoft sembra amare).
Se non avete usato Python prima, la documentazione Python ha un buon tutorial per convincere la gente iniziare: http://docs.python.org/3.1/tutorial/index.html
E, naturalmente, si vorrà l'interprete Python stesso: http://python.org/download/releases/3.1/ (Si noti che potrebbe è necessario aggiungere manualmente la directory Python alla variabile di ambiente PATH dopo l'installazione.)
Quando si scrive lo script, è probabile che la sintassi per l'esecuzione dello script sia simile a "python visioexport.py <source/original file[ with path]>[ <new file[ with path]>]
" (presupponendo che il file di script sia nel Directory Python), con il nuovo file che esegue il default su un file con lo stesso nome e nella stessa cartella/directory dell'originale (albe con una diversa estensione; in effetti, se lo desideri, puoi configurarlo per esportarlo in più formati, con il formato predefinito a quello di qualsiasi estensione predefinita scelta e specificata da un'estensione alternativa di te specifica uno nel nome del file.Inoltre, è probabile che tu possa configurarlo in modo che se hai solo il nuovo nome di file dopo il file sorgente, nessun percorso specificato, salverà con quel nuovo nome di file nella directory del file sorgente. E, naturalmente, se non si specifica un percorso per il file sorgente, solo un nome file, è possibile impostarlo per ottenere il file dalla directory corrente).
Sull'argomento dei formati di file: mi sembra che la conversione in SVG potrebbe essere la cosa migliore da fare, in quanto sarebbe più efficiente in termini di spazio e rifletterebbe meglio lo stato delle immagini originali come immagini vettoriali. D'altra parte, la conversione da un formato Visio a SVG non è perfetta (o, almeno, non era in Visio 2003, non riesco a trovare una fonte di informazioni simile a this one per Visio 2007), e come visto here, potrebbe essere necessario modificare il file XML risultante (anche se ciò potrebbe essere fatto utilizzando lo script, dopo che il file è stato esportato, tramite parti della libreria standard Python). Se non ti interessa la dimensione aggiuntiva dei file di bitmap e preferisci non dover includere codice aggiuntivo per correggere i file SVG risultanti, allora probabilmente dovresti usare un formato bitmap come PNG.
Ottengo un "Questo nome file non è valido."NUM: -2032466859 errore durante il richiamo:" Vis2Img.exe DAG.vsd DAG.gif "dalla riga di comando, l'aggiunta di 0 o 1 al comando per specificare un numero di pagina non è di aiuto. Sono fuori dal lavoro, grazie per un ottimo punto di partenza, almeno –
Sì, hai bisogno del percorso completo nel modo in cui è stato impostato ... Potresti modificarlo abbastanza facilmente in modo predefinito in app.path per trovare la cartella per un file, se non è presente un percorso completo ... –
Vis2Img.exe "' cygpath -w -a DAG.vsd' "" 'cygpath -w -a DAG.gif'" in soccorso in cygwin bash :). Grazie Jon –