Должен быть способ подключиться к Visio с помощью COM и получить его для сохранения в качестве изображения.
Почему бы вам не попробовать написать что-нибудь самостоятельно, если вы знаете, как использовать COM-материал? В конце концов, если вы не можете найти что-либо уже сделанное, чтобы сделать это, и вы знаете, что можете понять, как это сделать самому, почему бы не написать что-то, чтобы сделать это самостоятельно?
РЕДАКТИРОВАТЬ: Поразмышляя над тем, что я изложил в своем комментарии, написание сценария какого-то рода кажется вашим лучшим вариантом в этой ситуации, и Python, по крайней мере, был бы очень полезен для этого, используя comtypes библиотека, найденная здесь: http://starship.python.net/crew/theller/comtypes/ Конечно, как я уже сказал, если вы предпочитаете использовать другой язык сценариев, тогда вы можете попробовать это; Дело в том, что я действительно использовал COM с VBA и Python на данный момент (как в сторону, Microsoft, как правило, ссылается на «Автоматизация» в наши дни, а не на специфические ссылки на COM, я считаю.) Хорошая вещь о Python заключается в том, что это интерпретируемый язык, и поэтому вам просто нужна версия интерпретатора для разных ОС, которые вы используете, с версиями для Windows, OSX, Linux, Unix и т. д. С другой стороны, я сомневаюсь, что вы можете использовать COM, -Windows без какого-либо взлома, поэтому вам, возможно, очень легко придется вручную анализировать данные в исходных файлах (и хотя форматы по умолчанию Visio, по-видимому, используют некоторую форму XML, вероятно, это один из тех проприетарных форматов, которые Microsoft, похоже, любит).
Если вы раньше не использовали Python, документация Python имеет хороший учебник, чтобы люди начали: http://docs.python.org/3.1/tutorial/index.html
И, конечно, вы хотите интерпретатор Python сам: http://python.org/download/releases/3.1/ (Обратите внимание, что вы можете необходимо вручную добавить каталог Python в переменную окружения PATH после установки.) Когда вы пишете скрипт, возможно, у вас есть синтаксис для запуска скрипта как-то вроде «python visioexport.py <source/original file[ with path]>[ <new file[ with path]>]
» (предполагая, что файл сценария находится в вашем Python), при этом новый файл по умолчанию совпадает с файлом с тем же именем и в той же папке/каталоге, что и оригинал (albe он с другим расширением; на самом деле, если вы хотите, вы можете настроить его для экспорта в несколько форматов, при этом формат по умолчанию не зависит от того, что вы выбрали по умолчанию, и указывается альтернативным расширением, указанным вами в имени файла.Кроме того, вы можете настроить его таким образом, чтобы, если у вас есть только новое имя файла после исходного файла, указанного пути не будет сохранено с этим новым именем файла в каталоге исходного файла. И, конечно, если вы не укажете путь для исходного файла, просто имя файла, вы можете настроить его, чтобы получить файл из текущего каталога).
По теме форматов файлов: мне кажется, что преобразование в SVG могло бы быть лучше всего, поскольку это было бы более экономичным по площади и лучше отражало бы статус исходных изображений как векторные изображения. С другой стороны, преобразование из формата Visio в SVG не является идеальным (или, по крайней мере, это не было в Visio 2003, я не могу найти источник информации, подобный this one для Visio 2007), и, как видно here, возможно, вам придется изменить полученный XML-файл (хотя это можно было бы сделать с помощью скрипта после экспорта файла через части стандартной библиотеки Python). Если вы не возражаете против дополнительного размера файлов растровых изображений, и вам не нужно включать дополнительный код для исправления результирующих SVG-файлов, тогда вы, вероятно, должны просто пойти с растровым форматом, таким как PNG.
Я получаю «Это имя файла недействительно.«Ошибка NUM: -2032466859 при вызове:« Vis2Img.exe DAG.vsd DAG.gif »из командной строки. Добавление 0 или 1 к команде для указания номера страницы не помогает. Я буду смотреть в нее больше, Я не работаю. Спасибо за отличную отправную точку. –
Да, вам нужен полный путь, как это настроить ... Вы могли бы легко настроить его по умолчанию, чтобы просто поменять app.path, чтобы найти папку для файл, если полный путь отсутствует ... –
Vis2Img.exe «cygpath -w -a DAG.vsd» «« cygpath -w -a DAG.gif »на помощь в cygwin bash :). Спасибо Jon. –