The NuGet package
The SignAPI is packaged with NuGet.
It may be fetched from the package sources listed in the
installation section of the NET-DeviceAPI documentation.
The package name is SigSignAPI.
.NET-Framework projects have to install the the Grpc.Core package.
This adds required native gRPC libraries
Note that this is not necessary for .NET-Core, .NET5 and higher.
Furthermore, the SignAPI depends on a locally running
The PDF service
that listens at port 50051 can be run in various ways.
To install a system service on Windows
use one of the two installers
Both need administrative rights and install the PDF service as a system service with start type "automatic“.
This means, the service is run at system startup.
System services can be changed in the management console (services.msc).
To install a systemd service on Linux
see the Linux hints.
To install a launch daemon on MacOS
see the MacOS hints.
The docker image
runs the PDF service in a docker container. It may be run as follows
docker run --detach --name pdf-service -p 50051:50051 docker.stepover.de:8143/pdf-service/pdf-service
and updates can be fetched through docker pull.
The PDF service jar
The PDF service is implemented in java.
The java archive with dependencies can be fetched here.
Alternatively, fetch the corresponding NuGet package as follows.
# Remove the -Prerelease flag if possible: nuget install SigPdfService -Prerelease -OutputDirectory outputDir
This puts the contens of the package in the 'outputDir'.
The java archive is in a subfolder called "content" or "contentFiles".
If Java SE 14 or higher is installed on the target system
the service can be run with the following command
java -cp pathToThePdfServiceJar com.so.pdfService.Main --port 50051 --timeout 600
with the default port and a timeout of 10 minutes. The default timeout is infinite.
A similar command is used for the
automatic invocation of the PDF service.
The invocation is done when the SignAPI library detects that the PDF service is not listening.
That behaviour may be opted into for .NET applications
by directly referencing the SigPdfService package.
System-wide installation of java can be avoided by putting a suitable JRE into the output directory of your application,
that is, next to the SigPdfService.dll, or in a subdirectory thereof.
Installing one of the J2NET.Runtime packages
platform | package |
---|---|
Win-x64 | J2NET.Runtime.Win64 |
Win-x86 | J2NET.Runtime.Win32 |
Linux-x64 | J2NET.Runtime.Linux |
Mac-x64 | J2NET.Runtime.Mac |
is one way to achieve that.
An alternative way is to fetch a JRE from adoptopenjdk.net or from Oracle
for the respective platform and extract that next to the SigPdfService.dll.
The automatic invocation is not done if the service is already run through other means.