Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The NuGet package

The SignAPI Signature API is packaged with NuGet.
It may be fetched from the package sources listed in the
installation section of the NET-DeviceAPI documentation.

...

.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 Signature API depends on a locally running

...

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

Code Block
languagepowershell
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.

Code Block
languagepowershell
# 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

Code Block
languagepowershell
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

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 meansinstalled with

stepover-pdf-service-windows-x64-5.3.0_b221.exe
on Windows, 64-bit, x64,

stepover-pdf-service-windows-x32-5.3.0_b221.exe
on Windows, 32-bit, x86,

stepover-pdf-service-unix-5.3.0.sh
on Linux, x64,

stepover-pdf-service-macos-5.3.0.dmg
on MacOS, x64,

stepover-pdf-service-macos-arm-5.3.0.dmg
on MacOS, arm64.

The MacOS installers may not be notarized.
See the Apple docs on how to run them nevertheless.