Aspose.Diagram for Java — это многофункциональный Java API для программного управления диаграммами Visio без использования Microsoft Visio. API поддерживает работу с популярными форматами Visio, включая VSD, VSDX, VDX, VSDM, VSSM и VSSX. Недавно мы воспользовались возможностями Aspose.Diagram для Java и сделали возможным внедрение функций автоматизации MS Visio в приложения Node.js. Эти функции позволяют создавать, манипулировать, преобразовывать и обрабатывать диаграммы MS Visio в приложении Node.js.

Aspose.Diagram for Node.js через Java предоставляет полный набор функций для автоматизации создания диаграмм Visio или управления ими. Вы можете легко создавать, читать, экспортировать, печатать и защищать диаграммы, написав всего несколько строк кода. В этой статье я расскажу, как создавать диаграммы Visio с нуля в приложении Node.js. Остальная часть статьи разделена на следующие разделы.

Node.js Visio API — установка

Используйте следующую команду, чтобы установить пакет Aspose.Diagram в ваше приложение Node.js.

npm install aspose.diagram --save

Создайте диаграмму MS Visio в Node.js

Я начну с создания пустой схемы Visio (VSDX) с нуля. Ниже приведены шаги для выполнения этой операции.

  • Создайте объект класса Diagram.
  • Сохраните диаграмму в виде файла с помощью метода Diagram.save().

В следующем примере кода показано, как создать схему Visio (VSDX) в приложении Node.js.

var aspose = aspose || {};
aspose.diagram = require("aspose.diagram");

var diagram = new aspose.diagram.Diagram();
diagram.save("output.vsdx", aspose.diagram.SaveFileFormat.VSDX);

Добавление мастера в диаграмму Visio в Node.js

Наборы элементов Visio содержат коллекцию эталонных фигур, которые используются для добавления и копирования фигур на схемах Visio. Вы добавляете мастер на схему Visio с помощью файла шаблона VSS. Ниже приведены шаги для добавления мастера с помощью Aspose.Diagram.

  • Создайте новую диаграмму Visio, используя класс Diagram.
  • Добавьте мастер на диаграмму, используя путь к файлу трафарета и имя/идентификатор мастера.
  • Добавьте фигуру на диаграмму, используя имя мастера.
  • Сохраните диаграмму методом Diagram.save().

В следующем примере кода показано, как добавить мастер на схему Visio в Node.js.

var aspose = aspose || {};
aspose.diagram = require("aspose.diagram");

var diagram = new aspose.diagram.Diagram();

// Загрузить трафарет в поток
templateFileName = "NetApp-FAS-series.vss";

// Добавить мастер с путем к файлу трафарета и идентификатором мастера
masterName = "FAS80xx rear empty";
diagram.addMaster(templateFileName, 2);

// Или добавьте мастер с путем к файлу трафарета и именем мастера
diagram.addMaster(templateFileName, masterName);

// Или добавьте мастер на диаграмму из исходной диаграммы
src = new aspose.diagram.Diagram(templateFileName);
diagram.addMaster(src, masterName);

// Добавьте фигуру с определенными PinX и PinY.
diagram.addShape(2.0, 2.0, masterName, 0);
diagram.addShape(6.0, 6.0, masterName, 0);

// Добавьте форму с определенными PinX, PinY, шириной и высотой.
diagram.addShape(7.0, 3.0, 1.5, 1.5, masterName, 0);

diagram.save("output.vsdx", aspose.diagram.SaveFileFormat.VSDX);

Вставка страниц в схему Visio в Node.js

Перед созданием фигур необходимо иметь хотя бы одну страницу на схеме Visio. Каждая страница на схеме Visio имеет имя и идентификатор, которые используются для уникальной идентификации этой страницы. Ниже приведены шаги для добавления страницы на схему Visio.

  • Создайте экземпляр класса Diagram.
  • Рассчитайте максимальный идентификатор страницы.
  • Создайте новую страницу, используя класс Page.
  • Задайте имя и идентификатор страницы с помощью методов Page.setName() и Page.setID() соответственно.
  • Добавьте страницу на диаграмму с помощью метода Diagram.getPages().add().
  • Сохраните диаграмму Visio, используя метод Diagram.save().

В следующем примере кода показано, как вставлять страницы в схему Visio в Node.js.

var aspose = aspose || {};
aspose.diagram = require("aspose.diagram");

var diagram = new aspose.diagram.Diagram();
// он вычисляет максимальный идентификатор страницы
 max = 0;
if (diagram.getPages().getCount() != 0)
    max = diagram.getPages().get(0).getID();

for ( i = 1; i < diagram.getPages().getCount(); i++)
{
    if (max < diagram.getPages().get(i).getID())
        max = diagram.getPages().get(i).getID();
}
        
// Инициализировать новый объект страницы
newPage = new aspose.diagram.Page();
// Имя набора
newPage.setName("new page");
// Установить идентификатор страницы
newPage.setID(max + 1);

// Или попробуйте конструктор страниц
// Страница newPage = новая страница (MaxPageId + 1);

// Добавить новую пустую страницу
diagram.getPages().add(newPage);
diagram.save("output.vsdx", aspose.diagram.SaveFileFormat.VSDX);

Создание фигуры на схеме Visio в Node.js

Создав страницу на диаграмме, вы можете добавить к ней фигуру. Ниже приведены шаги для создания и вставки фигуры на диаграмму.

  • Создайте объект класса Диаграмма.
  • Добавьте мастер на диаграмму, используя путь к файлу трафарета.
  • Добавьте прямоугольник с помощью метода Diagram.addShape().
  • Задайте свойства фигуры, такие как идентификатор, текст, положение, цвет заливки и т. д.
  • Сохраните диаграмму с помощью метода Diagram.save().

В следующем примере кода показано, как добавить фигуру на схему Visio в Node.js.

var aspose = aspose || {};
aspose.diagram = require("aspose.diagram");

var diagram = new aspose.diagram.Diagram("output.vsdx");

// Получить страницу по названию
page = diagram.getPages()[.getPage("Page-2")];

// Добавить мастер с путем к файлу трафарета и идентификатором мастера
masterName = "Rectangle";
// Добавить мастер с путем к файлу трафарета и именем мастера
diagram.addMaster("Basic Shapes.vss", masterName);
            
// Индексация страницы начинается с 0
PageIndex = 2;
width = 2, height = 2, pinX = 4.25, pinY = 4.5;
// Добавьте новую форму прямоугольника
rectangleId = diagram.addShape(pinX, pinY, width, height, masterName, PageIndex);
            
// Установить свойства фигуры 
rectangle = page.getShapes().getShape(rectangleId);
rectangle.getXForm().getPinX().setValue(5);
rectangle.getXForm().getPinY().setValue(5);
rectangle.setType(TypeValue.SHAPE);
rectangle.getText().getValue().add(new Txt("Aspose Diagram"));
rectangle.setTextStyle(diagram.getStyleSheets().get(3));
rectangle.getLine().getLineColor().setValue("#ff0000");
rectangle.getLine().getLineWeight().setValue(0.03);
rectangle.getLine().getRounding().setValue(0.1);
rectangle.getFill().getFillBkgnd().setValue("#ff00ff");
rectangle.getFill().getFillForegnd().setValue("#ebf8df");

diagram.save("output.vsdx", aspose.diagram.SaveFileFormat.VSDX);

Добавление текстовой фигуры в диаграмму Visio в Node.js

Aspose.Diagram также позволяет добавлять текст к диаграммам Visio. В этом случае текст добавляется как фигура. Ниже приведены шаги для добавления текста на схему Visio.

  • Создайте новую диаграмму Visio, используя класс Diagram.
  • Добавьте текстовую фигуру на диаграмму, используя метод Diagram.getPages().getPage(0).addText().
  • Сохраните диаграмму методом Diagram.save().

В следующем примере кода показано, как добавить фигуру текста на схему Visio в Node.js.

var aspose = aspose || {};
aspose.diagram = require("aspose.diagram");

var diagram = new aspose.diagram.Diagram();

// Установить параметры
PinX = 1, PinY = 1, Width = 1, Height = 1;
text = "Test text";

// Добавление текста на страницу Visio
diagram.getPages().getPage(0).addText(PinX, PinY, Width, Height, text);

diagram.save("output.vsdx", aspose.diagram.SaveFileFormat.VSDX);

Гиперссылки в схемах Visio можно использовать для перехода с одной страницы на другую или для привязки файла или веб-страницы к чертежу. Ниже приведены шаги для добавления гиперссылки на схему Visio.

  • Создайте новую схему Visio.
  • Выберите нужную страницу на схеме.
  • Выберите нужную Форму на выбранной странице.
  • Создайте новую гиперссылку, используя класс Hyperlink, и задайте его свойства.
  • Добавьте гиперссылку к фигуре, используя метод Shape.getHyperlinks().add().
  • Сохраните схему.

В следующем примере кода показано, как добавить гиперссылку на схему Visio в Node.js.

var aspose = aspose || {};
aspose.diagram = require("aspose.diagram");

var diagram = new aspose.diagram.Diagram();

page = diagram.getPages().getPage(0);
// Получить форму по ID
shape = page.getShapes().getShape(2);

// Инициализировать объект гиперссылки
hyperlink = new aspose.diagram.Hyperlink();
// Установить значение адреса
hyperlink.getAddress().setValue("http://www.google.com/");
// Установить значение дополнительного адреса
hyperlink.getSubAddress().setValue("Sub address here");
// Установить значение описания
hyperlink.getDescription().setValue("Description here");
// Имя набора
hyperlink.setName("MyHyperLink");

// Добавить гиперссылку на фигуру
shape.getHyperlinks().add(hyperlink); 

diagram.save("output.vsdx", aspose.diagram.SaveFileFormat.VSDX);

Вывод

В этой статье вы узнали, как создавать диаграммы/рисунки Visio с нуля в приложениях Node.js. В пошаговом руководстве и примерах кода показано, как добавить шаблон, страницы, фигуры, текст и гиперссылки на схему Visio с помощью нескольких строк кода. Вы можете узнать больше о Visio API для Node.js, используя документацию.

Статьи по Теме