VERWENDUNG VON IRONSECUREDOC

immich Docker Compose (Wie es für Entwickler funktioniert)

Veröffentlicht 14. Januar 2025
Teilen Sie:

Einführung

ImmichDocker ist die Einrichtung von Immich, eineropen-Source, selbstgehostete Foto- und Video-Backup-Lösung in einem Docker-Container. Docker ist eine leichtgewichtige und weit verbreitete Plattform zur Entwicklung, Verteilung und Ausführung von Anwendungen auf physischen und virtualisierten Servern. Dank Docker kann Immich auf den meisten Systemen einfach installiert werden und ohne komplexe Konfiguration und kopfschmerzverursachende Abhängigkeiten in Betrieb genommen werden. Dieser containerisierte Ansatz zur Verwaltung von Immich erleichtert es, indem er Benutzern ermöglicht, ihre Mediendateien sicher zu speichern, zu sichern und zu verwalten.

Außerdem sorgt Docker für Konsistenz in verschiedenen Umgebungen, sodass Benutzer ihre Immich-Instanz problemlos verschieben oder skalieren können. Dies bedeutet, dass Immich Docker die effizientesten und nahtlosesten Möglichkeiten bietet, um eine Medien-Backup-Lösung mit Docker selbst zu hosten.

Defektes Bild Von Pixabay hinzufügen, aus Ihren Dateien auswählen oder ein Bild hierher ziehen.

Funktionen von Immich

Die Immich Docker-Installation bietet mehrere sofort einsatzbereite Funktionen, die das Bereitstellen und Verwalten der Immich-Lösungen für Foto- und Video-Backups erheblich erleichtern. Dies macht es wiederum sehr attraktiv für diejenigen, die ihre Mediendateien sicher und effektiv selbst hosten möchten. Zu den Hauptfunktionen von Immich Docker gehören die folgenden:

Einfach zu implementieren: Immich Docker hat standardisierte Docker-Images bereitgestellt, die die Bereitstellung erleichtern. Außerdem hält es die Benutzer von abhängigen Paketen und komplizierter Konfiguration fern; daher können Benutzer Immich sofort bereitstellen.

Plattformübergreifend: Jeder Docker-Container stellt sicher, dass das Gerät auf den meisten Systemen mit Docker unter Linux, macOS und Windows OS ausgeführt werden kann. Das macht das Projekt über verschiedene Umgebungen hinweg hochgradig portabel.

Isolation: Außerdem würden Immich-Dienste, die im Docker-Container laufen, von anderen Anwendungen und Diensten auf dem Host-Computer isoliert gehalten. Dies würde Konflikte und Kompatibilitätsprobleme verringern und die Betriebsumgebung für Immich definitiv wesentlich stabiler machen.

Im Allgemeinen ist die Skalierbarkeit sehr einfach, insbesondere wenn bei der Bereitstellung für Immich-Docker-Benutzer eine große Menge an Mediendaten beteiligt ist. Da Docker von Natur aus skalierbar ist, kann das Aufrüsten oder Erhöhen von Ressourcen wirklich ganz einfach sein.

Sicherheit: Der Grund dafür ist, dass Docker-Container eine Schicht der Sandbox-Isolierung vom darunterliegenden System hinzufügen, was zusätzliche Sicherheit bietet. Darüber hinaus bietet Immich Self-Hosting die Möglichkeit, den Benutzern volle Kontrolle über ihre Daten und den Speicherort der Datenbank zu gewähren, wodurch die Privatsphäre und Sicherheit erhöht werden.

Automatisierte Updates: Container sind relativ leichtgewichtig, einfach zu aktualisieren und wartungsfreundlich; So können Docker-Nutzer problemlos zu neuen Funktionen mit den neuesten Sicherheits-Patches wechseln, mit nur wenigen oder gar keinen Unterbrechungen.

Backup und Wiederherstellung: Immich Docker erstellt eine einzige zuverlässige Quelle für die Sicherung von Medien, sodass Fotos und Videos wiederhergestellt werden können. Docker stellt sicher, dass alle Deployments dieselben Daten haben.

Anpassbar: Immich ist selbstgehostet, sodass Benutzer es ihren Anforderungen entsprechend anpassen können, um eine effektivere Integration mit anderen Diensten und Skalierungsoptionen zu erreichen.

Community-Unterstützung: Es ist ein Open-Source-Projekt; Daher bietet die Gemeinschaft ständige Verbesserungen, Fehlerbehebungen und Unterstützung für ihre Benutzer.

Immich Docker installieren

Voraussetzungen

  • Installieren Sie Docker und Docker Compose auf Ihrem System.
  • Stellen Sie sicher, dass Ihr Computer über ausreichende Ressourcen verfügt: 4 GB oder mehr RAM wird empfohlen.

Klonen Sie das Immich-Repository

Laden Sie die docker-compose-Datei von GitHub herunter.

git clone https://github.com/immich-app/immich.git
cd immich
git clone https://github.com/immich-app/immich.git
cd immich
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'git clone https: cd immich
VB   C#

Umgebungsvariablen konfigurieren

Um es zu ändern, erstellen Sie eine Kopie der Beispiel-Umgebungsdatei und der docker-compose.yml-Dateien:

cp .env.example .env
cp .env.example .env
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'cp.env.example.env
VB   C#

Öffnen Sie die .env-Datei und richten Sie Variablen ein.(wie Port, Speicherort der Env-Datei und Datenbank-Zugangsdaten). In den meisten Konfigurationen sind die Standardeinstellungen ausreichend.

# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables
# The location where your uploaded files are stored
UPLOAD_LOCATION=./library
# The location where your database files are stored
DB_DATA_LOCATION=./postgres
# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
# TZ=Etc/UTC
# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release
# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=postgres
# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=postgres
# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables
# The location where your uploaded files are stored
UPLOAD_LOCATION=./library
# The location where your database files are stored
DB_DATA_LOCATION=./postgres
# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
# TZ=Etc/UTC
# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release
# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=postgres
# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=postgres
#You can find documentation for all the supported env variables at https: 'immich.app/docs/install/environment-variables
#The location where your uploaded files are stored
#The location where your database files are stored
#To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https: 'en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
#TZ=Etc/UTC
#The Immich version to use. You can pin this to a specific version like "v1.71.0"
#Connection secret for postgres. You should change it to a random password
#Please use only the characters `A-Za-z0-9`, without special characters or spaces
#The values below this line do not need to be changed
###################################################################################
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'UPLOAD_LOCATION=./library DB_DATA_LOCATION=./postgres IMMICH_VERSION=release DB_PASSWORD=postgres DB_USERNAME=postgres DB_DATABASE_NAME=postgres
VB   C#

Immich starten

Verwenden Sie Docker Compose, um den Immich-Server zu starten:

docker-compose up -d
docker-compose up -d
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker-compose up -d
VB   C#

immich Docker Compose(So funktioniert es für Entwickler): Abbildung 2 - Immich-Server ausführen

Dieser Befehl zieht alle erforderlichen Images und startet die notwendigen Container:

  • Backend
  • Frontend
  • Datenbank(PostgreSQL)
  • Redis(für das Caching)
  • Maschinelles Lernen Modelle(für Funktionen wie Gesichtserkennung)

    immich Docker Compose(Wie es für Entwickler funktioniert): Abbildung 3 - Docker Compose-Befehl

Greifen Sie über Ihren Browser auf Immich zu

Wenn alle Dateien heruntergeladen sind, stellen Sie sicher, dass Sie die Umgebung neu starten. Sobald die Container laufen, öffnen Sie den Browser und geben Sie den untenstehenden Link ein.

http://localhost:2283
http://localhost:2283
http: 'localhost:2283
VB   C#

Ersetzen Sie die Umgebungsports mit 2283 durch den angegebenen Port, wenn Sie den Port in der .env-Datei geändert haben.

Erstellen oder anmelden bei Immich-Konto

Erstmalige Nutzung: Wenn Sie die Immich-URL zum ersten Mal aufrufen, wird die Web-Benutzeroberfläche angezeigt.

immich Docker Compose(Wie es für Entwickler funktioniert): Abbildung 4 - Immich

Sie werden aufgefordert, ein Administratorkonto zu erstellen.

immich Docker Compose(Wie es für Entwickler funktioniert): Abbildung 5 - Admin-Konto

Geben Sie die erforderlichen Informationen ein, und Immich führt Sie durch die Einrichtung.

immich Docker Compose(Wie es für Entwickler funktioniert): Abbildung 6 - Einrichtung

Einrichtung von Immich in der Weboberfläche

  • Einstellungen: Gehen Sie über das Admin-Dashboard in die detaillierten Einstellungen von Immich.
  • Medien hochladen: Laden Sie jetzt einige Fotos/Videos zum Testen hoch.
  • Erkunden Sie Funktionen: Nutzen Sie weitere Funktionen wie Gesichtserkennung, Objekt-Tagging und so weiter.

    immich Docker Compose(Wie es für Entwickler funktioniert): Abbildung 7 - Web-Oberfläche

    Nachdem die Einrichtung abgeschlossen ist, können Sie Immich direkt über Ihren Browser aufrufen und mit der Verwaltung Ihrer Foto- und Videobibliothek beginnen.

Was ist IronSecureDoc?

IronSecureDocist ein fortschrittliches Dienstprogramm für Dokumentenverwaltung und Sicherheit, das mit robuster Verschlüsselung, fortgeschrittener PDF-Bearbeitung und digitaler Signatur aufwartet. Es bietet Unternehmen und Entwicklern Dokumentenvertraulichkeit und -integrität sowie reibungslosen Zugriff und vereinfacht somit die Verarbeitung von PDF-Dokumenten. Es kann auch als eine aggressive PDF-API bezeichnet werden, wenn ihre Funktionen Entwicklern ermöglichen, PDF-Dateien und Dokumente programmatisch zu erstellen, hochzuladen, zu manipulieren und abzusichern.

immich Docker Compose(Wie es für Entwickler funktioniert): Abbildung 8 - IronSecureDoc: Der PDF-Sicherheits- und Compliance-Server

Abgesehen davon ist IronPDF eine PDF-API, die die Erstellung von PDFs aus beliebigen Datenquellen ermöglicht und das Hinzufügen und Bearbeiten von Inhalten mit Parametern wie Text, Bildern und Metadaten. Dies umfasst die Möglichkeit, mehrere PDFs zu einer Datei zusammenzuführen, Dokumente zu teilen und sogar Kommentare, Markierungen oder Wasserzeichen zu annotieren.

Zu den Sicherheitsfunktionen gehören Passwortschutz, AES-Verschlüsselung und zertifikatbasierte Zugriffskontrollen, die alle sensiblen Informationen und Daten schützen. Außerdem ermöglicht es das digitale Signieren zur Authentifizierung von Dokumenten und Nichtabstreitbarkeit, ein sehr wichtiges Merkmal in Branchen wie Finanzwesen, Medizin und Recht. Die Funktionalität der Prüfungsspur ermöglicht es, alle Aktivitäten, die an den Dokumenten durchgeführt werden, zu verfolgen, um eine bessere Einhaltung und Verantwortlichkeit zu gewährleisten.

Installieren und Ausführen von IronSecureDoc

Ziehen Sie das Docker-Image von IronSecureDoc aus dem unten stehenden Repository, indem Sie diesen Befehl in der Eingabeaufforderung oder in einem geöffneten Terminalfenster ausführen.

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker pull ironsoftwareofficial/ironsecuredoc
VB   C#

immich Docker Compose(So funktioniert es für Entwickler): Abbildung 9 - Docker-Image von IronSecureDoc

Wir werden ein Image aus dem Docker-Container ziehen und dann einen weiteren Befehl verwenden, um IronSecureDoc, einen operativen Container, zu starten.

docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
VB   C#

Der oben genannte Docker-Run-Befehl startet eine Containerinstanz von IronSecureDoc.

Laden Sie die Signatur von Immich herunter und fügen Sie das signierte PDF-Dokument hinzu.

Die REST-API in IronSecureDoc ist eine moderne Webschnittstelle, die es Entwicklern ermöglicht, sicher mit den Dokumentverwaltungs- und PDF-Verarbeitungsfunktionen der Software zu interagieren. Verwendung von RESTful-Prinzipien, dieseAPIermöglicht es den Benutzern, die Integration der Funktionen von IronSecureDoc in ihre benutzerdefinierten Anwendungen unabhängig vom verwendeten Technologiestack einfach zu verstehen und zu standardisieren.

immich Docker Compose(Wie es für Entwickler funktioniert): Abbildung 10 - REST-API

Laden Sie das Bild von Immich herunter

immich Docker Compose(Wie es für Entwickler funktioniert): Abbildung 11 - Bild

Oben ist die Beispiel-Signaturdatei, die auf Immich hochgeladen wird.

using System;
using System.Net.Http;
using System.Threading.Tasks;
class ImmichIntegration
{
    private static readonly HttpClient client = new HttpClient();
    public async Task<string> GetImageFromImmich(string imageId, string immichBaseUrl, string apiKey)
    {
        client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
        var response = await client.GetAsync($"{immichBaseUrl}/api/media/{imageId}");
        response.EnsureSuccessStatusCode();
        var responseData = await response.Content.ReadAsStringAsync();
        Console.WriteLine("Image data retrieved successfully!");
        return responseData; // Contains image metadata or downloadable URL
    }
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class ImmichIntegration
{
    private static readonly HttpClient client = new HttpClient();
    public async Task<string> GetImageFromImmich(string imageId, string immichBaseUrl, string apiKey)
    {
        client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
        var response = await client.GetAsync($"{immichBaseUrl}/api/media/{imageId}");
        response.EnsureSuccessStatusCode();
        var responseData = await response.Content.ReadAsStringAsync();
        Console.WriteLine("Image data retrieved successfully!");
        return responseData; // Contains image metadata or downloadable URL
    }
}
Imports System
Imports System.Net.Http
Imports System.Threading.Tasks
Friend Class ImmichIntegration
	Private Shared ReadOnly client As New HttpClient()
	Public Async Function GetImageFromImmich(ByVal imageId As String, ByVal immichBaseUrl As String, ByVal apiKey As String) As Task(Of String)
		client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}")
		Dim response = Await client.GetAsync($"{immichBaseUrl}/api/media/{imageId}")
		response.EnsureSuccessStatusCode()
		Dim responseData = Await response.Content.ReadAsStringAsync()
		Console.WriteLine("Image data retrieved successfully!")
		Return responseData ' Contains image metadata or downloadable URL
	End Function
End Class
VB   C#

Der Code ermöglicht es uns, das Bild vom Immich-Server herunterzuladen. Stellen Sie sicher, dass Sie einen API-Schlüssel vom Immich-Server generieren.

Bild in IronSecureDoc hochladen

using System.IO;
class IronSecureDocIntegration
{
    private static readonly HttpClient client = new HttpClient();
    public async Task UploadImageToIronSecureDoc(string imagePath)
    {
    var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost:8080/v1/document-services/pdfs/sign?sign_specific_page=0&signature_image_x=100&signature_image_y=150&signature_image_w=300&signature_image_h=400&certificate_password=Ibrahim%4021&certificate_permissions=1");
    request.Headers.Add("sec-ch-ua-platform", "\"Windows\"");
    request.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36");
    request.Headers.Add("accept", "*/*");
    request.Headers.Add("sec-ch-ua", "\"Google Chrome\";v=\"131\", \"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"");
    request.Headers.Add("sec-ch-ua-mobile", "?0");
    request.Headers.Add("Sec-Fetch-Site", "same-origin");
    request.Headers.Add("Sec-Fetch-Mode", "cors");
    request.Headers.Add("Sec-Fetch-Dest", "empty");
    request.Headers.Add("host", "localhost");
    var content = new MultipartFormDataContent();
    content.Add(new StreamContent(File.OpenRead(imagePath)), "signature_image_file", imagePath);
    content.Add(new StreamContent(File.OpenRead("IronsecureDoc.pfx")), "certificate_file", "IronsecureDoc.pfx");
    content.Add(new StreamContent(File.OpenRead("Input.pdf")), "pdf_file", "Input.pdf");
    request.Content = content;
    var response = await client.SendAsync(request);
    response.EnsureSuccessStatusCode();
    //save the file as required
    Console.WriteLine(await response.Content.ReadAsStringAsync());
    }
}
using System.IO;
class IronSecureDocIntegration
{
    private static readonly HttpClient client = new HttpClient();
    public async Task UploadImageToIronSecureDoc(string imagePath)
    {
    var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost:8080/v1/document-services/pdfs/sign?sign_specific_page=0&signature_image_x=100&signature_image_y=150&signature_image_w=300&signature_image_h=400&certificate_password=Ibrahim%4021&certificate_permissions=1");
    request.Headers.Add("sec-ch-ua-platform", "\"Windows\"");
    request.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36");
    request.Headers.Add("accept", "*/*");
    request.Headers.Add("sec-ch-ua", "\"Google Chrome\";v=\"131\", \"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"");
    request.Headers.Add("sec-ch-ua-mobile", "?0");
    request.Headers.Add("Sec-Fetch-Site", "same-origin");
    request.Headers.Add("Sec-Fetch-Mode", "cors");
    request.Headers.Add("Sec-Fetch-Dest", "empty");
    request.Headers.Add("host", "localhost");
    var content = new MultipartFormDataContent();
    content.Add(new StreamContent(File.OpenRead(imagePath)), "signature_image_file", imagePath);
    content.Add(new StreamContent(File.OpenRead("IronsecureDoc.pfx")), "certificate_file", "IronsecureDoc.pfx");
    content.Add(new StreamContent(File.OpenRead("Input.pdf")), "pdf_file", "Input.pdf");
    request.Content = content;
    var response = await client.SendAsync(request);
    response.EnsureSuccessStatusCode();
    //save the file as required
    Console.WriteLine(await response.Content.ReadAsStringAsync());
    }
}
Imports System.IO
Friend Class IronSecureDocIntegration
	Private Shared ReadOnly client As New HttpClient()
	Public Async Function UploadImageToIronSecureDoc(ByVal imagePath As String) As Task
	Dim request = New HttpRequestMessage(HttpMethod.Post, "http://localhost:8080/v1/document-services/pdfs/sign?sign_specific_page=0&signature_image_x=100&signature_image_y=150&signature_image_w=300&signature_image_h=400&certificate_password=Ibrahim%4021&certificate_permissions=1")
	request.Headers.Add("sec-ch-ua-platform", """Windows""")
	request.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36")
	request.Headers.Add("accept", "*/*")
	request.Headers.Add("sec-ch-ua", """Google Chrome"";v=""131"", ""Chromium"";v=""131"", ""Not_A Brand"";v=""24""")
	request.Headers.Add("sec-ch-ua-mobile", "?0")
	request.Headers.Add("Sec-Fetch-Site", "same-origin")
	request.Headers.Add("Sec-Fetch-Mode", "cors")
	request.Headers.Add("Sec-Fetch-Dest", "empty")
	request.Headers.Add("host", "localhost")
	Dim content = New MultipartFormDataContent()
	content.Add(New StreamContent(File.OpenRead(imagePath)), "signature_image_file", imagePath)
	content.Add(New StreamContent(File.OpenRead("IronsecureDoc.pfx")), "certificate_file", "IronsecureDoc.pfx")
	content.Add(New StreamContent(File.OpenRead("Input.pdf")), "pdf_file", "Input.pdf")
	request.Content = content
	Dim response = Await client.SendAsync(request)
	response.EnsureSuccessStatusCode()
	'save the file as required
	Console.WriteLine(Await response.Content.ReadAsStringAsync())
	End Function
End Class
VB   C#

Rufe Immich und IronSecureDoc auf

Der folgende Code wird uns bei der Integration helfen.

class Integration
{
    public async Task IntegrateImmichWithIronSecureDoc(string immichImageId, string immichBaseUrl, string immichApiKey,string imagePath)
    {
        var immich = new ImmichIntegration();
        var ironSecureDoc = new IronSecureDocIntegration();
        // Step 1: Fetch image metadata or download from Immich
        string imageData = await immich.GetImageFromImmich(immichImageId, immichBaseUrl, immichApiKey);
        // Step 2: Optionally download the image locally using imageData URL (not shown here)
        // Assume imagePath is the downloaded image file path
        // Step 3: Upload the image to IronSecureDoc
        await ironSecureDoc.UploadImageToIronSecureDoc(imagePath);
    }
}
class Integration
{
    public async Task IntegrateImmichWithIronSecureDoc(string immichImageId, string immichBaseUrl, string immichApiKey,string imagePath)
    {
        var immich = new ImmichIntegration();
        var ironSecureDoc = new IronSecureDocIntegration();
        // Step 1: Fetch image metadata or download from Immich
        string imageData = await immich.GetImageFromImmich(immichImageId, immichBaseUrl, immichApiKey);
        // Step 2: Optionally download the image locally using imageData URL (not shown here)
        // Assume imagePath is the downloaded image file path
        // Step 3: Upload the image to IronSecureDoc
        await ironSecureDoc.UploadImageToIronSecureDoc(imagePath);
    }
}
Friend Class Integration
	Public Async Function IntegrateImmichWithIronSecureDoc(ByVal immichImageId As String, ByVal immichBaseUrl As String, ByVal immichApiKey As String, ByVal imagePath As String) As Task
		Dim immich = New ImmichIntegration()
		Dim ironSecureDoc = New IronSecureDocIntegration()
		' Step 1: Fetch image metadata or download from Immich
		Dim imageData As String = Await immich.GetImageFromImmich(immichImageId, immichBaseUrl, immichApiKey)
		' Step 2: Optionally download the image locally using imageData URL (not shown here)
		' Assume imagePath is the downloaded image file path
		' Step 3: Upload the image to IronSecureDoc
		Await ironSecureDoc.UploadImageToIronSecureDoc(imagePath)
	End Function
End Class
VB   C#

Verwenden Sie die API von IronSecureDoc, um Fotos anzuhängen und digitale Signaturen anzuwenden. Fügen Sie den erforderlichen API-Aufruf in der IronSecureDocIntegration-Klasse hinzu, um das Dokument zu vervollständigen. Unten ist das Beispiel-PDF, das von IronSecureDoc nach dem Hinzufügen der Signatur erstellt wurde.

immich Docker Compose(Wie es für Entwickler funktioniert): Abbildung 12 - PDF-Ausgabe

Schlussfolgerung

Obwohl sowohl Immich als auch IronSecureDoc hervorragende Arbeit bei der Erfüllung spezifischer Bedürfnisse leisten, bedienen sie am besten unterschiedliche Anwendungsfälle. Immich zeichnet sich durch eine selbstgehostete, funktionsreiche Foto- und Videomanagementlösung aus, wie Gesichtserkennung, Objekterkennung und eine optimierte Organisation von Multimedia-Dateien. Es wird ideal für die persönliche Nutzung oder die Verwaltung von Medienspeicherplätzen im kleinen Maßstab sein, wo man eine Lösung möchte, die genau auf die eigenen Bedürfnisse zugeschnitten ist.

IronSecureDoc ist eine unternehmensweite sichere Dokumenten- und Signaturlösung, die die fantastischen Vorteile fortschrittlicher Verschlüsselung mit der Einfachheit der Workflows-Integration kombiniert, um Sicherheit, Skalierbarkeit und professionelle Dokumentenverwaltung zu vereinen.

Zuverlässig und konform: Da es vollständige Prüfungsfunktionen mit starker Sicherheit bietet, ist es zuverlässig und konform. Mit der IronSecureDoc REST API können Entwickler von Web-, Mobil- und Unternehmenssystemen nun problemlos sicheres Drucken sowie effizientes PDF-Format und Handling in ihre Anwendungen integrieren. Um mehr über die Lizenzierung von IronSecureDoc zu erfahren, überprüfen Sie die lizenzierungsseite. Um mehr über die Angebote von Iron Software zu erfahren, besuchen Sie dieIronSuite-Seite.

NÄCHSTES >
Haproxy Docker Compose (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Kostenloser DownloadLizenzen anzeigen >