Seite 1 von 2

HTML Komponente im Report-Desinger

Verfasst: Fr 9. Sep 2016, 14:06
von KRose
Hallo zusammen,

wird ein Textfeld einer Datenbank-Tabelle in ein Report aufgenommen, das reinen HTML-Code beinhaltet, wird beim Ausführen des Reports der HTML-Code als reiner Text angezeigt.
Gibt es eine HTML-Komponente, die den Inhalt des Textfeldes als eine HTML-Seite anzeigt?
Oder gibt es die Möglichkeit der Text-Komponente aus dem Report-Designer als Format einen HTML-Renderer zuzuweisen?

Vielen Dank für eure Hilfe.

Grüße
KRose

Re: HTML Komponente im Report-Desinger

Verfasst: Fr 9. Sep 2016, 21:08
von RobertG
Hallo KRose,

Du meinst ein Feld, das Formatierungen darstellt, die aus einer HTML-Datei stammen wie z.B. <br> als Absatzumbruch usw.? Das wirst Du im ReportBuilder nicht finden. In den gesamten Formularfeldern steht so etwas nicht zur Verfügung und auch der ReportBuilder greift auf solche Formularfelder zu.

Wie hast Du denn überhaupt den Code entsprechend in die Datenbank rein bekommen?
Ist der gesamte Inhalt im Prinzip HTML-Code, so dass es sinnvoller wäre, nicht eine Writer-Datei, sondern eine HTML-Datei zu erstellen und mit dem Inhalt zu füllen? So etwas könnte ich mir per Makro vorstellen - aber nicht kombiniert mit irgendwelchen anderen Feldern, die wiederum ganz anderen Inhalt haben können.

Gruß

Robert

Re: HTML Komponente im Report-Desinger

Verfasst: Mo 12. Sep 2016, 11:04
von KRose
Hallo Robert,

danke für Deine Nachricht!
Ja ich habe eine Komponente in LibreOffice-Reporter gesucht, die wie ein Textfeld mit DB-Verbindung den Inhalt des Datenbankfeldes liest und automatisiert den Inhalt als eine HTML-Seite darstellt.
Der Inhalt des Datenbankfeldes wurde mit einem HTML-Editor(ChkEditor in Redmine) erstellt und direkt in das Feld in der Datenbank gespeichert.
Es handelt sich also um reinen HTML-Code, der einfach durch die (neue)Komponente interpretiert wird und als HTML-Seite angezeigt wird.
Es sind Tabellen, Fettschrift, Kursivschrift, Unterstrichen, verschiedene Schriftgrößen, etc. enthalten (keine Bilder).

Hoffe die Informationen sind ausreichend für Dich.
Danke für ein Feedback.
Klemens

Re: HTML Komponente im Report-Desinger

Verfasst: Mo 12. Dez 2016, 13:37
von KRose
Hallo Robert,

leider besteht das oben beschriebene Problem nach wie vor und niemand konnte mir einen Tip geben, um das zu lösen.
Ich habe gesehen, dass Du Dich gut auskennst mit LO-BASE und das Reporting-Tool.
Hast Du das Thema mal prüfen können oder gibt es eine Doku dazu?
Würde mich freuen, wenn Du mir einen Tip geben könntest, wie reiner HTML-Code im LO-BASE-Report korrekt angezeigt werden kann.
Oder gibt es diesbezüglich Planungen zur Weiterentwicklung des LO-BASE-Reportdesigner?

Danke und viele Grüße
Klemens
RobertG hat geschrieben:Hallo KRose,

Du meinst ein Feld, das Formatierungen darstellt, die aus einer HTML-Datei stammen wie z.B. <br> als Absatzumbruch usw.? Das wirst Du im ReportBuilder nicht finden. In den gesamten Formularfeldern steht so etwas nicht zur Verfügung und auch der ReportBuilder greift auf solche Formularfelder zu.

Wie hast Du denn überhaupt den Code entsprechend in die Datenbank rein bekommen?
Ist der gesamte Inhalt im Prinzip HTML-Code, so dass es sinnvoller wäre, nicht eine Writer-Datei, sondern eine HTML-Datei zu erstellen und mit dem Inhalt zu füllen? So etwas könnte ich mir per Makro vorstellen - aber nicht kombiniert mit irgendwelchen anderen Feldern, die wiederum ganz anderen Inhalt haben können.

Gruß

Robert

Re: HTML Komponente im Report-Desinger

Verfasst: Mo 12. Dez 2016, 16:17
von RobertG
Hallo Klemens,

die einzige Möglichkeit, die ich wüsste, wäre:
HTML-Code in eine Datei auslesen und mit Hilfe des Browsers extern darstellen.
Das geht aber nur unter Zuhilfenahme von Makros. Da habe ich nicht so auf Anhieb ein paar Codezeilen parat.

Für den Report-Builder werden vermutlich vorerst keine zusätzlichen Funktionen bereitgestellt. Dazu fehlt einfach die entsprechende Anzahl an interessierten EntwicklerInnen. Ich persönlich wäre erst einmal froh, wenn einige Bugs beseitigt würden, die bereits seit Beginn an in dem Teil schlummern.

Gruß

Robert

Re: HTML Komponente im Report-Desinger

Verfasst: Di 13. Dez 2016, 12:28
von KRose
Hallo Robert,

Ok vielen Dank für die Infos!

Die Lösung mit dem Browser ist leider nicht praktikabel, da der Report als PDF verteilt werden soll.
Und an der Stelle scheitern fast alle Report-Generatoren, wenn es darum geht den Feldinhalt als HTML-Code zu interpretieren und im Report direkt darzustellen.

Gäbe es denn grundsätzlich Interesse an ein solches Feature?
Könnte man sich an der Entwicklung einer solchen Option in LO - BASE - Rep.-Designer evtl. beteiligen?
In welcher Sprache ist der RD geschrieben?

Ich nutze LO-Rep.-Designer für Reports aus der Projektverwaltung "Redmine".

Kennst Du evtl. andere Report-Generatoren, die HTML-Code-Interpreter unterstützen?

Vielen Dank und Grüße
Klemens
RobertG hat geschrieben:Hallo Klemens,

die einzige Möglichkeit, die ich wüsste, wäre:
HTML-Code in eine Datei auslesen und mit Hilfe des Browsers extern darstellen.
Das geht aber nur unter Zuhilfenahme von Makros. Da habe ich nicht so auf Anhieb ein paar Codezeilen parat.

Für den Report-Builder werden vermutlich vorerst keine zusätzlichen Funktionen bereitgestellt. Dazu fehlt einfach die entsprechende Anzahl an interessierten EntwicklerInnen. Ich persönlich wäre erst einmal froh, wenn einige Bugs beseitigt würden, die bereits seit Beginn an in dem Teil schlummern.

Gruß

Robert

Re: HTML Komponente im Report-Desinger

Verfasst: Di 13. Dez 2016, 18:29
von RobertG
Hallo Klemens,

wenn Du das Ganze sowieso als *.pdf-Datei verteilen willst, warum machst Du dann keine html-Datei daraus und lässt die als *.pdf über LO abspeichern? Wie so eine Speicherung als *.pdf-Datei erfolgen könnte habe ich im Handbuch beschrieben. Allerdings müsstest Du dann die HTML-Datei über den Writer und nicht über einen Browser (im Hintergrund) öffnen.

Gruß

Robert

Re: HTML Komponente im Report-Desinger

Verfasst: Mi 14. Dez 2016, 15:46
von KRose
Hallo Robert,

vielen Dank, aber das löst das Problem leider auch nicht, da die HTML-Ausgabe ebenfalls keine korrekte Interpretation der HTML-Tags des Text-Feldes der Tabelle durchführt.
Ausserdem ist das letztlich die gleiche Vorgehensweise wie mit Windows-Word.
Das habe ich auch schon ausprobiert und klappt ja auch:
- Inhalt des Text-Feldes in eine Datei kopieren und speichern
- Die Datei umbenennen nach *.htm
- Datei in Word laden
- Ergebnis: Alles wird korrekt dargestellt
- Fazit: Das ist viel zu umständlich und sehr aufwendig in der Bedienung.

Ich möchte letztlich eine Vorlage erstellen die Version, Logo, Revision, etc. bereits beinhaltet und die dynamischen Daten bei der Ausgabe als Report aus einer Datenbank hinzufügt. Dabei gibt es eben Tabellen, die Text-Felder beinhalten, die reinen HTML-Code enthalten. Dieser HTML-Code sollte beim Lesen eben direkt als solcher interpretiert und im Report angezeigt werden.

Der Umweg über die HTML-Ausgabe klappt ebenfalls nicht, da der Feldinhalt genauso als Text und nicht als HTML-Code interpretiert wird.
Letztlich kann man das Problem nachstellen, in dem man eine beliebige HTML-Seite aus dem Internet (ohne Bilder) in ein Text-Feld einer Tabelle kopiert und anschließend den Inhalt als Report ausgibt.

In sofern bleibt das Problem weiterhin bestehen und ich werde weiter prüfen, welche Lösung es dafür gibt.

Ich danke Dir für Deine Unterstützung!

Grüße
Klemens
RobertG hat geschrieben:Hallo Klemens,

wenn Du das Ganze sowieso als *.pdf-Datei verteilen willst, warum machst Du dann keine html-Datei daraus und lässt die als *.pdf über LO abspeichern? Wie so eine Speicherung als *.pdf-Datei erfolgen könnte habe ich im Handbuch beschrieben. Allerdings müsstest Du dann die HTML-Datei über den Writer und nicht über einen Browser (im Hintergrund) öffnen.

Gruß

Robert

Re: HTML Komponente im Report-Desinger

Verfasst: Mi 14. Dez 2016, 19:15
von RobertG
Hallo Klemens,

auch wenn Du es vermutlich nicht weiter nutzen kannst: Ich habe das Ganze mit einem Makro einmal nachvollzogen. Dafür musst Du natürlich die Ausführung von Makros erlauben.
Öffne das Formular in der *.odb-Datei. Dort ist ein Button, der den Inhalt des Textfeldes mit allen HTML-Formatierungen ausliest, in eine Datei im Backup-Verzeichnis von LibreOffice schreibt, anschließend den Writer öffnet und die html-Datei dort einliest, die Datei von dort nach *.pdf (wieder in das Backup-Verzeichnis) exportiert und den Writer wieder schließt.
Das einzige Problem, das sich nicht in den Griff bekommen habe, ist das Öffnen des Writers im Hintergrund zusammen mit dem Export als *.pdf. Da wurde im *.pdf ein Seitenumbruch erzeugt und dann begann der Text mit dem 2. Wort - warum auch immer.

Gruß

Robert

Re: HTML Komponente im Report-Desinger

Verfasst: Mi 14. Dez 2016, 23:31
von Wanderer
Hallo,

GUI-Unterstützung kann ich zwar nicht anbieten, aber die Erzeugung eines HTML-Reports ist eigentlich nicht
schwer, wenn man im Hinterkopf hat, daß eine html-Datei erstmal nur Text im Sinne von ASCII-Datei ist.
Meine erste Idee war zwar auch die html-Email-Ausgabe des Serienbrief-Assistenten zu nutzten,
mekte dann aber, daß die html-Formatierungscodes zerlegt und dadurch lesbar aber inaktiv wurden.

Dann wollte ich mir ansehen, was er beim Speichern im Textformat .txt mit den Codes macht und stellte fest, das
sie unverändert im Text landeten.
In der Beispiel-Zip ist also eine Mikro-Datenbank mit 3 Datensätzen, wobei das Adress-Feld einfache html-Codes enthält:
Zeilenumbruch fett und kursiv. z.B.:

Code: Alles auswählen

 Museo Dali<br><i>12345</i><b>Figueras</b>
Für die Serienbriefdatei sbt.odt muß diese Datenbank als Datenquelle angemeldet werden.
Sie enthält ein rudimentäres html-Gerüst und mit h3-Formatierungen weitere eigene html Codes und natürlich die Datenbankfelder.
(Achtung beide werden durch < und > begrenzt, aber die Datenfelder sind grau hinterlegt.)

Code: Alles auswählen

<html>
<body>

<h3><Vorname> <Nachname> </h3><br> <Adresse> <P>

</body>
</html>
Nun Drucken wählen und als Ausgabe "In Datei" wählen. Bei der Frage nach dem Dateinamen auch das Ausgabeformat auf .txt ändern
und dann statt automatischer Dateinamenerweiterung direkt z.B in Test.html schreiben.
Das Resultat lässt sich im Browser inspizieren. Es funktioniert, aber der Quelltext zeigt, daß html und body für
jedes Element erzeugt werden (eigentlich nicht erstaunlich). Html-Header und Ende sollten also extern erzeugt werden.

Es sollte also möglich sein:
- In einem beliebigen HTML-Editor eine Maske für einen Datensatz zu erzeugen
- Den Quelltext der Maske in Writer zu kopieren (als reinen Text)
- Datenbankfelder in die kopierte Maske einzusetzen
- und damit einen vollständigen "Report" zu erzeugen, der nur noch (per Makro?) mit einen html-Head und -Tail versehen werden muß.

Derzeit fehlt mir die Zeit das auszuarbeiten, aber bei Gelegenheit werde ich das Thema mal etwas vertiefen.

mfg, Jörn