BPMN.Sharp
1.1.0
dotnet add package BPMN.Sharp --version 1.1.0
NuGet\Install-Package BPMN.Sharp -Version 1.1.0
<PackageReference Include="BPMN.Sharp" Version="1.1.0" />
<PackageVersion Include="BPMN.Sharp" Version="1.1.0" />
<PackageReference Include="BPMN.Sharp" />
paket add BPMN.Sharp --version 1.1.0
#r "nuget: BPMN.Sharp, 1.1.0"
#:package BPMN.Sharp@1.1.0
#addin nuget:?package=BPMN.Sharp&version=1.1.0
#tool nuget:?package=BPMN.Sharp&version=1.1.0
BPMN View
A simple free tool to view and print business process diagrams in a popular BPMN format.
- Full conformance to the latest version of BPMN 2.0 specification by OMG.
- Import models from all major BPM vendors
- Strict validation of the model according to BPMN specification.
- Arbitrary scaling and zooming view of most complex diagrams.
- Support of raster and vector image output.
- Batch processing of multiple BPMN files.
- Simple API to create and edit BPMN models.
- 100% Microsoft .NET managed solution.
- Loyal open source license for private and commercial use.
Code example to create diagram image
Jump start your BPMN capable solution in minutes!
Sample code to read BPMN file and save it as an image:
Model model = BPMN.Model.Read("B.2.0.bpmn");
Image img = model.GetImage(0, 2.0f);
img.Save("B.2.0.png", ImageFormat.Png);
Code example to create new diagram
Sample code to create a new BPMN model and write it to file:
public static bool Create(string fileName)
{
Editor editor = new Editor();
editor.Create("BPMN Model", "User");
string id1 = editor.AddEvent(null, null, "Start Event", EventType.Start, EventTrigger.None, EventRole.None);
string id2 = editor.AddActivity(null, "Task 1", ActivityType.Task, ActivityMarker.None, TaskType.User, null);
string id3 = editor.AddActivity(null, "Task 2", ActivityType.Task, ActivityMarker.None, TaskType.Manual, null);
string id4 = editor.AddActivity(null, "Task 3", ActivityType.Task, ActivityMarker.None, TaskType.Service, null);
string id5 = editor.AddEvent(null, null, "End Event", EventType.End, EventTrigger.None, EventRole.None);
string id7 = editor.AddFlow(null, null, id1, id2, null, FlowType.Sequence, null, false, FlowDirection.None);
string id8 = editor.AddFlow(null, null, id2, id3, null, FlowType.Sequence, null, false, FlowDirection.None);
string id9 = editor.AddFlow(null, null, id3, id4, null, FlowType.Sequence, null, false, FlowDirection.None);
string id10 = editor.AddFlow(null, null, id4, id5, null, FlowType.Sequence, null, false, FlowDirection.None);
string id = editor.AddDiagram("Test 1", 96);
Shape shape = new Shape();
Rectangle rect = new Rectangle(10, 10, 30, 30);
shape.Bounds = new List<Rectangle>();
shape.Bounds.Add(rect);
shape.ElementRef = id1;
editor.AddShape(id, shape);
rect.Width = 70;
rect.Offset(60, 0);
shape.Bounds[0] = rect;
shape.ElementRef = id2;
editor.AddShape(id, shape);
rect.Offset(100, 0);
shape.Bounds[0] = rect;
shape.ElementRef = id3;
editor.AddShape(id, shape);
rect.Offset(100, 0);
shape.Bounds[0] = rect;
shape.ElementRef = id4;
editor.AddShape(id, shape);
rect.Width = 30;
rect.Offset(100, 0);
shape.Bounds[0] = rect;
shape.ElementRef = id5;
editor.AddShape(id, shape);
List<Point> points = new List<Point>();
points.Add(new Point()); points.Add(new Point());
points[0] = new Point(40, 25); points[1] = new Point(70, 25);
Edge edge = new Edge() { ElementRef = id7, Points = points };
editor.AddEdge(id, edge);
points[0] = new Point(140, 25); points[1] = new Point(170, 25);
edge = new Edge() { ElementRef = id8, Points = points };
editor.AddEdge(id, edge);
points[0] = new Point(240, 25); points[1] = new Point(270, 25);
edge = new Edge() { ElementRef = id9, Points = points };
editor.AddEdge(id, edge);
points[0] = new Point(340, 25); points[1] = new Point(370, 25);
edge = new Edge() { ElementRef = id10, Points = points };
editor.AddEdge(id, edge);
return editor.Save(fileName);
}
BPMN View was created with support from CaseAgile LLC, an innovative software and business service company specializing in integration of platforms and environments for enterprise modeling. Find more on official company page: http://caseagile.com/
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Drawing.Common (>= 7.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.