Laden von Objekten in FastReport VCL mit http und https

2021-09-13

Laden von Objekten in FastReport VCL mit http und https

Eine der Schlüsselaufgaben des Berichtsgenerators besteht in der Datenermittlung. Am häufigsten werden die Datenbanken zum Speichern und Abrufen von Daten verwendet. Aber was ist, wenn Remote-Speicher in der Cloud verwendet werden, um bestimmte Daten zu speichern? Wie wird ein Firmenlogo über http in einen Bericht hochgeladen, damit es immer auf dem neuesten Stand ist?

Um diese Aufgaben in FastReport VCL 2021.3 zu lösen, haben wir Unterstützung für Protokolle und die Möglichkeit, Daten über Protokolle in Objekte wie z.B.: Karten, Bilder, Text, PDF-Objekt, HTML-Objekt hinzugefügt. Eine Reihe von Objekten verfügt über eine neue DataLink-Eigenschaft, die zusätzliche Eigenschaften für die Handhabung von Links enthält. Solche Links beginnen immer mit dem Schemanamen gefolgt von einem Trennzeichen. Beispiel <Schema>:[//Pfad] . Das Schema wird in den meisten Fällen durch Protokolle wie http und https dargestellt.

Hinweis! Für die Nutzung des HTTPS-Protokolls werden die folgenden OpenSSL-Bibliotheken benötigt: libssl-3.dll und libcrypto-3.dll. Diese Dateien befinden sich im Verzeichnis der Haupt-Demo-Anwendung. Sie müssen die Bibliotheken entweder in den Anwendungsordner oder in das Systemverzeichnis kopieren.

Hochladen von Daten über Links in der FastReport VCL

Die FastReport VCL basiert auf einer modularen Architektur, die http- und https-Funktionalität bildet hier keine Ausnahme und ist zusammen mit den Internet Transporten in einem separaten Paket enthalten. Damit Links über http- und https- Protokolle funktionieren, muss das frxTransportHTTP-Modul an den uses-Abschnitt der Anwendung angeschlossen werden oder einer der Internet Transporte zum Anwendungsformular hinzugefügt werden.

Liste der Internet Transporte in der Komponentenpalette

 

Wichtig! Damit das https-Protokoll funktioniert, sind die folgenden Open SSL- Bibliotheken erforderlich: ssleay32.dll und libeay32.dll. Sie sind im Verzeichnis mit der Haupt-Demoanwendung zu finden.

Starten Sie den Berichtsdesigner und erstellen Sie einen neuen Bericht. Fügen Sie der Berichtsseite ein Band "Berichtskopf" und ein Objektbild hinzu. Der Bericht sollte folgendermaßen aussehen.

Beispiel für einen erstellten Bericht

Wählen Sie das Objekt «Bild» aus und wechseln Sie zum Objektinspektor. Suchen Sie im Objektinspektor die Eigenschaft DataLink. Für eine schnelle Suche können Sie den im Objektinspektor integrierten Filter verwenden, indem Sie den Namen der gesuchten Eigenschaft eingeben.

Suche nach der DataLink-Eigenschaft

Betrachten wir den Wert der untergeordneten DataLink-Eigenschaften:

Link ist ein Link mit einem Schema (Protokoll), im Format <Schema>:[//Pfad]. Die Daten werden vom angegebenen Link heruntergeladen.

LoadingType ist ein Download-Typ, der gibt an, wann die Daten hochgeladen werden. Er kann die folgenden Werte annehmen:

[] – Leer. Die Daten werden im Bearbeitungsmodus der Vorlage geladen, indem der Benutzer auf den Download-Editor klickt. Der Wert wird verwendet, wenn die Daten nur einmal abgerufen und in einer Vorlage gespeichert werden sollen.

Schaltfläche „Download-Editor“ im Berichtsdesigner

  • [dltOnGetData] – standardmässig. Die Daten werden beim Berichterstellen in das Objekt heruntergeladen. In diesem Fall werden keine Objektdaten in der Vorlage gespeichert. Das Objekt erhält bei jeder Erstellung neue Daten als Link.
  • [dltOnPreview] – Die Daten werden zum Zeitpunkt der Vorschau, des Exports oder des Druckens eines Berichts geladen. In diesem Fall speichert der erstellte Bericht einen Link zu den Daten und lädt sie jedes Mal herunter, wenn der Benutzer den erstellten Bericht herunterlädt. Es kann verwendet werden, um aktuelle Daten in einem erstellten Bericht abzurufen, ohne ihn neu erstellen zu müssen.
  • [dltOnGetData, dltOnPreview] – Hybridmodus. Bei der Erstellung ruft das Objekt die Daten per Link ab und speichert sie in dem erstellten Bericht. Auf die gleiche Weise wird auch der Link zu den Daten gespeichert. Wenn ein konstruierter Bericht mit einem solchen Objekt geladen wird, wird das Objekt versuchen, die Daten auf die gleiche Weise wie bei [dltOnPreview] zu laden, aber wenn die Daten nicht erfolgreich geladen werden, werden die beim Berichtserstellen erhaltenen Daten angezeigt.
  • ProcessingType ist ein Wert, der bestimmt, wie der Link bei der Erstellung des Berichts verarbeitet wird: dpString – als normale Zeichenkette, dpExpression – als Ausdruck des Berichtsskripts.

Legen Sie die DataLink.Link-Eigenschaft des «Bild»-Objektes mit einem Link zu einem Bild auf der Webseite, z.B. fest. Starten Sie Ausführung des Berichts.

Beispiel für einen erstellten Bericht

Andere Objekte wie Text, Bild, Karten, HTMLView, PDFView können auf die gleiche Weise geladen werden.

Die Links können verwendet werden, um auf Web-APIs zuzugreifen und Daten abzurufen, z. B. OSM-Karten.

Erstellen Sie einen neuen Bericht mit dem «Berichtskopf»-Band und mit einem Karten-Objekt mit einer leeren Ebene (Mehr Information über die Erstellung eines Karten-Objekts entnehmen Sie bitte unserer Dokumentation unter).

Erstellter Bericht mit der Karte

Wählen Sie nun die MapFileLayer1-Kartenebene und gehen Sie im Objektinspektor auf die DataLink.Link-Eigenschaft. Die OpenStreetMap-API kann zum Herunterladen von OSM-Karten verwendet werden. Lassen Sie uns versuchen, den ausgewählten Bereich in FastReport VCL anzuzeigen. Der API-Link wird wie folgt aussehen: https://www.openstreetmap.org/api/0.6/map?bbox=-6.7234%2C61.6283%2C-6.697%2C61.6379 , fügen Sie ihn in die Eigenschaft DataLink.Link ein. Starten Sie die Berichtserstellung.

Bericht mit OpenStreetMap API in der Vorschau

Die Daten vom Server wurden automatisch in das Kartenobjekt geladen.

Mehr als nur Hyperlinks

In FastReport VCL werden alle Schemata und Protokolle der DataLink-Eigenschaft über die Factory verarbeitet. Dies ermöglicht es Entwicklern, die Funktionalität der Anwendung zu erweitern, indem sie neue Schemata und Protokolle hinzufügen, ohne den Quellcode von FastReport VCL ändern zu müssen. Dazu registriert FastReport VCL automatisch Internet-Transporte in der Factory als neue Protokolle. So können Sie auf einen privaten Cloud-Speicher zugreifen und Daten daraus in den Bericht hochladen, ohne Autorisierungsdaten innerhalb des Berichts zu übertragen oder zu speichern. Das Schema des Zusammenwirkens der DataLink-Eigenschaft mit der Protokoll-Factory finden Sie unten.

Schema des Zusammenwirkens der DataLink-Eigenschaft mit der Protokoll-Factory

Wie sollen wir einen Internet Transport hinzufügen und Links zu einem privaten Google Drive verwenden?

Das ist in wenigen Schritten möglich:

  1. Öffnen Sie die Komponentenpalette mit Internet-Transporten.
  2. Fügen Sie TfrxGoogleDriveIOTransport zum Anwendungsformular hinzu.
  3. Benennen Sie die Komponente. Der Name wird als Schema-Protokoll im Zugangslink verwendet. In unserem Beispiel haben wir sie “GDRIVE” genannt.

FastReport VCL

  1. Stellen Sie über das Menü “Edit connection” eine Verbindung zu Google Drive her (Details finden Sie in unserem anderen Artikel).

FastReport VCL

  1. Starten Sie den Berichtsdesigner und erstellen Sie einen Bericht, indem Sie die Schritte für die Erstellung eines Bildberichtes, die am Anfang dieses Artikels beschrieben sind, ausführen.
  2. In der DataLink.Link-Eigenschaft müssen Sie den Link zur Datei in Google Dive angeben, aber anstelle des Schemas (Protokolls) geben Sie den Namen des Transports an. In unserem Fall ist es “GDRIVE“. Der Link sieht dann so aus GDRIVE://LogoF.PNG. Sie können nun die Ausführung des Berichts starten.

FastReport VCL

Wichtig! Wenn die Daten nicht hochgeladen werden, prüfen Sie, ob die Verbindung zum Cloud-Speicher korrekt hergestellt wurde und ob das Autorisierungs-Token bei der Verbindung gespeichert wurde.

Ebenso können Sie eine Verbindung zu anderen Internet-Transporten herstellen. Dies ist eines der wenigen leistungsstarken Tools, die mit der Veröffentlichung von FastReport VCL 2021.3 erschienen sind und die Sie zur Verbesserung Ihrer Projekte verwenden können.

12. August 2024

Erstellen und Installieren des Postgres-Plugins in FastReport .NET

In diesem Artikel wird beschrieben, wie Sie mit dem FastReport .NET-Plugin für den Berichtsdesigner aus Visual Studio über den NuGet-Server eine Verbindung zur Datenbank herstellen.
8. August 2024

Installation von FastReport .NET und ihren Komponenten unter Windows

Schritt für Schritt Anleitung zur Online- und manuellen Installation über den Registrierungscode FastReport .NET und seine Komponenten in Windows.
26. Juli 2024

Aktualisierung von HTMLObject als Plugin für FastReport .NET

Ausführliche Anleitung zur Verwendung des neuen HTMLObject-Plugins, das die Aufteilung des HTML-Doms in FastReport-Berichtsobjekte verwendet.
Fast Reports
  • 800-985-8986 (Englisch, die USA)
  • +4930568373928 (Deutsch)
  • +55 19 98147-8148 (Portugiesisch)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314

© 1998-2024 Fast Reports Inc.