Aspose.Diagram for Java is a powerful Microsoft Visio document processing API. It provides common functionality such as create, parse & convert native Visio formats as well as supports some commonly used image and fixed-layout formats. Applications can load existing documents and manipulate the diagram elements to export the result in its own formats, images or fixed-layout formats.
By integrating API, some of the basic tasks developers can perform like create diagrams from scratch, read or write multiple formats, access and read the properties including formulas of Visio objects, export diagrams to different formats, print diagrams with high fidelity and much more.
At a Glance
An overview of the capabilities of the Visio library.
- Create Diagrams
- Add Master from Stencil
- Protect Diagram/Shape
- Configure Timeline Shapes
- Add/Get Hyperlinks
- Get Shape Connectors
- Change Layout of Diagram
- Page-Level Comments
- Rotate Shapes
- Find/Replace Text
- Import Bitmap as Shape
- Manipulate Ole Objects
- Manipulate ActiveX Controls
- Multi-Colored Shapes
- XForm, Line & Fill Data
- Headers & Footers
- Icons & Pictures
- Solution XML
- Master, Page & Shape Elements
- Style Sheets
- User-defined Cells
- Shape Geometry
- High Fidelity Printing
- Supports XpsPrint API
Aspose.Diagram for Java supports the JDK 1.6 and above.
- JSP/JSF Application
- Desktop Application
Supported File Formats
Aspose.Diagram for Java supports most of the native Visio file formats.
- Microsoft Visio: VSDX, VSX, VTX, VDX, VSSX, VSTX, VSDM, VSSM, VSTM
- Microsoft Visio: VDW, VSD, VSS, VST
- Fixed Layout: PDF, XPS
- Images: JPEG, PNG, BMP, TIFF, SVG, EMF
- Web: HTML
- Other: XAML
Advanced Java Visio API Features
Read multiple Visio formats
Read properties of different objects
Save diagrams as XML
Group multiple shapes
Configure TimeLine shapes
Specify fonts location
Manipulate document properties
Print diagrams with high fidelity
Rotate a shape at a suitable angle
Add comments to drawings
Add hyperlink to a shape
Protect or unprotect diagrams & shapes
Create a user-defined cell in the shapesheet
Insert a new blank page into a drawing
Set locale as per your requirements
Parse Microsoft Visio Documents
Java diagram API allows to read native file formats of Microsoft Visio application, thus allowing you to access the diagram data like Document Pages, Properties, Masters, Images, Shapes, Connects, Solution XML, Layers, Hyperlinks, Comments, StyleSheet, user-defined cells and so on. These objects can be manipulated through the API, and the result can be written to disk in any of the supported formats.
Export to Images, PDF & HTML
Developers can load Visio files and render them to popular images including JPEG, BMP, PNG, TIFF, SVG and EMF. The library also provides the ability to export Visio documents to PDF, HTML & XPS formats with the highest fidelity.
Save diagram in different formats - Java
// load file to be converted Diagram dgrm = new Diagram(dir + "template.vsdx"); // convert VSDX to PDF, HTML and JPEG formats dgrm.save("D:/output.pdf", SaveFileFormat.PDF); dgrm.save("D:/output.html", SaveFileFormat.HTML); dgrm.save("D:/output.jpg", SaveFileFormat.JPEG);
Organize Shapes in a Container
Normally, developers add shapes in a container to keep things well organized and understandable. The containers add a visual boundary around shapes, including a label. To add a container and sub shapes to the diagram, developers can use the library because it gives an easy and quick approach.
Combine Multiple Shapes in a Group
Using API, developers may group shapes, pictures, or other objects. Grouping lets them rotate, flip, move, or resize all shapes or objects at the same time as though they were a single shape or object.
Print Easily & Reliably
The library allows the developers to print diagrams using various options - with just a few lines of code. You can choose to print with default settings or to any of the available printers with customized settings.
Print Visio files to physical printer - Java
// load file to be printed Diagram dgm = new Diagram(dir + "template.vsdx"); // print while specifying printer job and print name dgm.print("LaserJet1100", "Job Name");