Open Source C++ Visio Diagramming Library
Create, Edit, view, Read, & Manipulate Visio Drawings via Open Source Free C++ Diagramming Library.
EXDVisio is an open source C++ Library that provides a set of powerful tools for visualizing and manipulating complex data structures. The library has included several important features related to vector drawing, modifying SVG, Visio-like GUI, flow diagram drawing, flow charts, vector, graphic editing, printing, SVG import, SVG export, DXF Import, Visio-style multi-page design support, composite text editor support, DXF Export and many more.
The library is very flexible and easy to use, making it an ideal choice for a wide range of applications, including scientific visualization, data analysis, and computer graphics. The library has included support for a complex form of geometric operations such as intersection, phase, subtracting, and so on. The library has included advanced features for handling graphics on canvas, such as direct rotation, scaling, moving, deformation, distortion, and other advanced operations. The library was developed by the EXDS research group at the University of Salerno in Italy and is distributed under the GNU General Public License.
EXDVisio is highly customizable, allowing software developers to easily modify and extend its functionality to meet their specific needs. The library includes support for popular file formats, such as OBJ, STL, XML, ArcGIS, as well as a number of specialized formats for scientific data, such as DXF, VTK, and HDF5. It allows software developers to export their drawings to EMF, PNG, BMP, JPEG, PDF, SVG, and other file formats. Moreover, the API includes a number of advanced rendering techniques, such as ray tracing and ambient occlusion, which allow for the creation of high-quality, photorealistic images.
Getting Started with EXDVisio
The recommend way to install EXDVisio is using GitHub. Download the source code for the library from the project's website or GitHub repository. Please use the following command for a smooth installation.
Install EXDVisio via git command
git clone https://github.com/jackonlyone1/EXDVisio.git
Generate Visio Drawings via C++ API
The open source EXDVisio library gives software developers the power to work with Visio Drawings inside their own C++ applications. The library has include several important features related to Visio Drawings management, such as create a new drawing from scratch, load existing drawings, set background and foreground, add elements to the drawing (lines, circles, text, rectangles), shape scaling, rotate elements, and many more. The following example demonstrates how to create a simple DXF drawing using the EXDVisio library in C++.
How to Create Simple DXF Drawing via C++ Library?
#include "visio.h"
int main()
{
// Initialize Visio object
Visio visio;
// Create a new drawing
visio.createDrawing();
// Add a line to the drawing
visio.addLine(0, 0, 100, 100);
// Add a circle to the drawing
visio.addCircle(50, 50, 25);
// Add some text to the drawing
visio.addText("Hello, world!", 50, 75);
// Save the drawing in DXF format
visio.saveDrawing("example.dxf");
return 0;
}
Visio Drawings Conversion via C++ API
The open source EXDVisio library is a very efficient solution for loading and converting Microsoft Visio drawings to various file formats inside their own C++ applications. It allows users to read and write Microsoft Visio binary files (VSD and VDX). To convert a Visio drawing to another format, you can use EXDVisio to extract the necessary information from the Visio document and then use another library to create the output format. The library has included support for converting Visio drawing file various other file formats such as DXF, EMF, PNG, BMP, JPEG, PDF, SVG, and other file formats.
Convert Visio Drawing to SVG via C++ Library
#include
int main() {
// Load Visio drawing into memory
EXDDocument visioDoc;
visioDoc.load("mydrawing.vsd");
// Create SVG Document
EXDSVGDocument svgDoc;
// Traverse Visio Document and extract information
for (int i = 1; i <= visioDoc.getPages(); i++) {
EXDPage page = visioDoc.getPage(i);
for (int j = 1; j <= page.getShapes(); j++) {
EXDShape shape = page.getShape(j);
// Extract shape information and generate SVG elements in svgDoc
}
}
// Save SVG Document to file
svgDoc.saveToFile("mysvg.svg");
return 0;
}