PDF-Dokument im Bericht. Verwendung eines neuen TfrxPDFView-Objekts

2021-09-09

PDF-Dokument im Bericht. Verwendung eines neuen TfrxPDFView-Objekts

FastReport VCL ist in erster Linie ein Berichtsgenerator. Auf dieser Grundlage können wir davon ausgehen, dass die Vorschau oder das Einbetten von Dokumenten anderer Formate in einen Bericht übermäßig ist. Nach den Anfragen unserer Kunden können wir aber auch die gegenteilige Meinung feststellen. Viele unserer Kunden müssen sich mit der Aufgabe auseinandersetzen alte Systeme mit den neuen zu integrieren. Ein solches System kann bereits vorbereitete Dokumente enthalten, die mit den neuen Berichten verknüpft werden müssen. Mit anderen Worten, ein Dokument in einem anderen Format in einen Bericht einbetten und anzeigen, indem neue Seiten oder Felder hinzugefügt werden. 

Für solche Aufgaben haben wir in FastReport VCL 2021.3 ein neues TfrxPDFView Berichtsobjekt hinzugefügt. Dieses Objekt verwendet die Pdfium Open-Source-Bibliothek und dient zur Anzeige von PDF-Dokumenten in einem Bericht. Sie können die Bibliothek selbst erstellen oder eine fertige Lösung aus unserem FastReport VCL Installationspaket verwenden (frx_pdfium.dll und frx_pdfium_64.dll im Bin-Ordner). Nach der manuellen Erstellung müssen Sie die Bibliothek in frx_pdfium.dll für 32-Bit-Systeme und in frx_pdfium_64.dll für 64-Bit-Systeme umbenennen. Um die Bibliothek manuell zu kompilieren, benötigen Sie Visual Studio und Google depot_tools. Weitere Informationen finden Sie hier und hier.

Wie oben geschrieben, müssen Sie Pdfium nicht selbst bauen, Sie können vorbereitete Bibliotheken aus dem FastReport VCL verwenden, aber wenn Ihre Firma eine Sicherheitsbeschränkung hat und erfordert, den gesamten Quellcode auf Ihrer Seite zu bauen, verwenden Sie die Links von oben.

Das TfrxPDFView kann Dokumente sowohl auf einer als auch auf mehreren Berichtsseiten darstellen. Dabei wird die Fähigkeit der Report-Engine genutzt, um Objekte aufzuteilen. Schauen wir uns genauer an, wie man dieses Objekt verwendet und welche Möglichkeiten es bietet.

Nach der Installation der neuesten FastReport VCL 2021.3 Version sollte diese Komponente in der Komponentenpalette von Delphi im Abschnitt FastReport VCL erscheinen.

Hinzufügen von TfrxPDFObject in der Entwicklungsumgebung von Embarcadero RAD Studio

Fügen Sie einfach das TfrxPDFObject in das Anwendungsformular ein, um TfrxPDFView in Run-time zu verwenden. Wenn Sie ein neues Projekt erstellt haben, fügen Sie die TfrxReport-Komponente hinzu und doppelklicken Sie darauf, um den Berichtsdesigner aufzurufen.

Berichtsdesigner

Klicken Sie dann auf das PDF-Objekt in der Symbolleiste des Designers und erstellen Sie auf dem Band ein neues Objekt im Bericht, genau wie jedes andere Berichtsobjekt.

Objekt-Erstellung

Das Objekt wurde erstellt. Danach sollte der Objekteditor erscheinen, der das Laden eines PDF-Dokuments ermöglicht.

Das TfrxPDFView ermöglicht mehrseitige Dokumente darzustellen. Das Objekt hat dafür spezielle Einstellungen.

Die DetailStretchMode Eigenschaft ist für die Anzeige des Inhaltes des Objekt-Containers verantwortlich und kann einen der folgenden Werte annehmen:

  • pdOneToOneStrongStretch – die Seite wird immer anhand der Größe des Berichtsobjekts gestreckt. Das Seitenverhältnis wird nicht eingehalten.
  • pdOneToOneNormalize – die Seite wird immer gestreckt und behält das Seitenverhältnis der Originalseite in einem PDF-Dokument bei.
  • pdManyToOneNormalize – ermöglicht es, mehrere Seiten in den Objektbereich des Berichts einzupassen und das Seitenverhältnis der Originalseite in einem PDF-Dokument beizubehalten.

Beispiel für die Verwendung der DetailStretchMode-Eigenschaft

Anzeige eines mehrseitigen PDF-Dokuments 

Mit FastReport VCL können Sie ein PDF-Dokument als eine Seite des PDF-Dokuments, eine Seite im Bericht für jede Seite des PDF-Dokuments darstellen.

Wir haben bereits ein PDF-Dokument erstellt und in das Band „Berichtskoprfzeile“ geladen. Dehnen Sie es nun auf die gesamte Seite der Berichtsvorlage aus, es sollte wie folgt aussehen:

Berichtsvorlage-Konfigurierung

Wenn wir jetzt auf die Berichtsvorschau klicken, sehen wir nur eine Seite des geladenen PDF-Dokuments, auch wenn ein Dokument mehr als eine Seite hat. Um alle Seiten anzuzeigen, müssen wir eine Reihe von Schritten durchführen.

  • Schritt 1. Aktivieren Sie die Eigenschaften AllowSplit und Stretched und setzen Sie sie auf True für das Band, in dem sich das TfrxPDFView-Objekt befindet. Somit wird das Band dehnen und aufteilen.
  • Schritt 2. Setzen Sie die Eigenschaft StretchMode auf smActualHeight oder smMaxHeight für das TfrxPDFView-Objekt. Dieses Objekt kann jetzt gedehnt werden.

Sie können den Bericht nun ausführen und das Ergebnis sehen.

Die Vorschau des Berichts

FastReport VCL zeigt alle Seiten des PDF-Dokuments jeweils auf die Berichtsseite an.

Das TfrxPDFView-Objekt hat noch weitere Eigenschaften. Die Eigenschaft "Password" legt ein Kennwort für das PDF-Dokument fest. Die "DrawOptions"-Flags ermöglichen die Steuerung der Dokumentenanzeige.

Konfigurierung von Berichtseigenschaften

Außerdem können Sie einen Dateinamen als Quelle für ein TfrxPDFView-Objekt verwenden, indem Sie die FileLink Eigenschaft verwenden. Und das ist noch nicht alles! Mit der neuen DataLink-Eigenschaft ist es möglich, Dokumente auch über http- und https-Protokolle zu laden.

FastReport VCL kann jetzt nicht nur PDF-Dokumente generieren, sondern diese auch innerhalb eines Berichts anzeigen!

20. November 2024

Lokalisierung und Ändern von Sprachen in FastReport VCL

FastReport VCL unterstützt 40 Sprachen für die Schnittstellenlokalisierung und ermöglicht es Ihnen, die Sprache im laufenden Betrieb über Menüs oder Code ohne Neukompilierung zu ändern.
11. Dezember 2023

Neuer S3 (Amazon) Transport in FastReport VCL

In diesem Artikel werden wir uns den neuen Transport in S3 (Amazon) für FastReport VCL ansehen, bei dem es sich um einen Objektspeicher für Dateien und Buckets handelt.
9. November 2023

Bericht in C# in FastReport Cloud erstellen

In diesem Artikel zeigen wir Ihnen anhand eines Beispiels, wie Sie mit FastReport Cloud SDK Berichte erstellen und in ein beliebiges Format exportieren können.
Fast Reports
  • 800-985-8986 (Englisch, die USA)
  • +4930568373928 (Deutsch)
  • +55 19 98147-8148 (Portugiesisch)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2024 Fast Reports Inc.