PDF-Datei als Vorlage, Text einmischen [Irrelevant]

Moderator: Moderatoren

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

PDF-Datei als Vorlage, Text einmischen [Irrelevant]

Beitrag von Martin Altmann »

Moin,
eine Frage: Mit dem PDF-Objekt kann man ja eine bestehende PDF-Datei als Hintergrund einbinden, Felder darauf positionieren, in diesen Feldern die Inhalte aus der Datenbank einmischen lassen und dann die fertige Seite (mit oder auch ohne Hintergrund-PDF) drucken.
Soweit so gut.
Kann man das Positionieren denn auch codemässig erledigen? Ich habe in einer Datenbank die Angaben gespeichert, wieviele Millimeter vom linken und vom unteren Seitenrand entfernt ein Text gedruckt werden soll - dies würde ich dafür gerne nutzen, so dass nicht am Bildschirm die Felder erst manuell an die richtige Stelle gesetzt werden müssen.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Tom »

Jedes Objekt in einem Formular hat eine Position - die Angaben sind in Millimetern. Du siehst das im Designer, wenn Du das Objekt gewählt hast, im Eigenschaften-Dialog. Dort gibt es eine Gruppe "Position" mit den Elementen "links, oben, Breite, Höhe". All diese Felder lassen sich auch mit Variablen- und Felderinhalten bestücken.
Herzlich,
Tom
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Martin Altmann »

Ja - nein, ist klar ;-)
Mir ging es darum, ob ich diese Felder auch codegesteuert positionieren kann. Aber ich glaube, genau das wolltest Du mir damit schreiben.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Tom »

Genau das wollte ich. Du definierst Variablen mit den entsprechenden Positionen und verwendest diese im Formular. Wenn sich die Variablen - je nach Ansteuerung - ändern, ändern sich die Formularpositionen.
Herzlich,
Tom
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Martin Altmann »

Ich danke Dir!
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Martin Altmann »

Hmm,
ich fange jetzt mit meinen ersten Schritten an.
Frage: Mein PDF-Dokument (das als Hintergrund genommen wird), hat zwei Seiten. Felder werden nur auf der ersten Seite (ein)gedruckt. Trotzdem sollen immer beide Seite beim späteren Erzeugen gedruckt werden, da die zweite Seite statische Informationen enthält.
Wie kann ich das erreichen?

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Martin Altmann »

Tom,
noch eine Frage zur variablen Ausgabepsoition eines Feldes: Ich möchte den gesamten Report dynamisch bauen - also nicht als File mitliefern.
Laut Doku geht sowas wohl nur mit der Professional-Version (die ich nicht unbedingt nehmen will) - oder gibt es auch eine andere Variante?
Ich könnte doch sicherlich eine entsprechende L&L-Datei mittels set alternate to.... erzeugen, dieser nutzen und nach Generieren der eigentlichen Ausgabedatei wieder löschen - oder?
Wie machst Du sowas? Oder arbeitet ihr nur mit L&L-Dateien, die im Filesystem permanent abgelegt sind?

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Tom »

Hallo, Martin.

Du kannst im Prinzip Formulardateien (LBL/LST) auch on the fly erzeugen. Das Format ist XML-ähnlich. Es ist allerdings sehr komplex und umfangreich. Mit einfachen Tabellen lässt sich das sicher machen, wenn man auf Basis von Beispielen analysiert hat, wie mit den Daten umgegangen wird, aber bei aufwendigen Reporten würde ich das nicht versuchen.

Nimm doch einfach mal eine Datei aus den programmierbaren Beispielen und schau sie Dir an. :wink:

Wir liefern Formulare aus, ergänzt um eine komplexe Bausteinstruktur und noch einiges mehr. Es gibt keine Stelle, die das Layout in der Applikation generiert. Wozu auch? Ein Formular ist schnell zusammengeklickt.
Herzlich,
Tom
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Martin Altmann »

Und leider auch schnell im Filesystem gelöscht...
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Koverhage »

schnell vielleicht, aber Du kannst die doch als ReadOnly und Hidden speichern.
Dann ist die Hürde ein wenig höher.
Gruß
Klaus
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Martin Altmann »

Ja - aber wahrscheinlich würde ich eher das zusammengeklickte Formular dann in Xbase++ derart integrieren, dass es mittels set alternate to.... etc. temporär im Filesystem erzeugt wird.
Oder als Ressource mit einbinden... Mal schauen.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Tom »

Ein paar Formulare binde ich tatsächlich als Ressource ein, zwei oder drei werden zur Laufzeit erzeugt, aus einer hartcodierten Textsektion (TEXT INTO ... ENDTEXT). Das betrifft Formulare, die nötig sind, damit Fehler- und Meldungssysteme laufen. Alle anderen Formulare werden in bis zu drei wählbaren Formularordnern gespeichert. Es gibt eine gesonderte Setup-Routine, mit der man nur Formulare (nach-)installieren kann. Und alle für Kunden angepassten Formulare halten wir natürlich in Sicherungskopien in unserer IT-Struktur zur Verfügung.

Es gibt allerdings an nur sehr, sehr wenigen Stellen direkte Formularauswahlen über Dateiauswahldialoge. Die meisten Formulare werden über Tabellen referenziert, einige wenige direkt im Quelltext.
Herzlich,
Tom
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Martin Altmann »

Bin ja gerade bei den ersten Gehversuchen...
Die Positionsangaben sind ja vom linken Rand und von oben - kann man das auch auf "von unten" umstellen? Ich habe aktuell 750 Variablen (die u.a. diese Angaben enthalten) und dazu dann noch ca. 130 Felder. Das kann man ja nicht zuverlässig umrechnen!
Der linke Rand ist auch ungünstig fpür mich, da meine Kunden zwar vom linken Rand messen, aber zu diesem Punkt den Text wahlweise linksbündig, rechtsbündig oder zentriert ausrichten lassen - aber das bekomme ich recht einfach umgesetzt. Problematisch ist da schon der Ausgangspunkt von oben! Hat da jemand eine gute Idee?

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Tom »

Seitengröße ermitteln und umrechnen. :wink:
Herzlich,
Tom
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Martin Altmann »

Habe ich mich gestern dran versucht (mit Formel im Formular), bin ich aber gescheitert.
Die Höhe der Seite habe ich (in 10tel mm o.s.ä.), Den Abstand von unten habe ich (in cm, also mal 1000), die Höhe der Schrift habe ich (in Pixel - einfach halbiert und mal 100). Und dann einfach die folgende Formel:
Seitenhöhe-(1000*Abstand_von_unten)-((Schriftgroesse/2)*100) - das ganze war dann ziemlich genau 1cm zu weit oben.
Wenn ich den Abstand von unten habe, dann gilt der ja bis zur Grundlinie des Textes. In L&L gilt der Abstand von oben jedoch zu dessen Oberkante. Und da scheinen die Probleme anzufangen.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von brandelh »

Die Schrift dürfte so nicht mitberechnet werden, da man normalerweise von der Schreiblinie aus misst, die ist immer gleich, egal ob von oben oder unten gemessen wird.
Ich kenne mich zwar nicht mit L&L aus, so ist es aber bei allen meinen Druckausgaben und auch QuickPDF - sonst könnte man keine 2 Schriftgrößen in einer Zeile mischen, die Schriftlinie bleibt ...
also die Unterkante dieser Schrift, ohne die Unterlängen von z.B. j oder somit sollte:

2970 (A4 in 1/10mm) - dem Wert von unten sollte gleich dem Abstand von oben sein, wobei eventuell der dir gelieferte Wert etwas abweicht, dann diesen nutzen.
Gruß
Hubert
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Martin Altmann »

Hubert,
ist in L&L aber leider anders!
Ist im Normalfall ja auch egal, da die Formulare normalerweise per Drag&Drop im WYSIWIG-Editor erstellt werden.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Tom »

Ist im Normalfall ja auch egal, da die Formulare normalerweise per Drag&Drop im WYSIWIG-Editor erstellt werden.
Dann mach doch eins und verwende das als Rechenbasis. Vier Texte - links oben, rechts oben, links unten, rechts unten -, und dann Formel bauen.
Herzlich,
Tom
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von brandelh »

Bei der QuickPDF kann man einstellen ob man von links oben oder links unten aus misst ich würde einfach mal den Support von L&L fragen.
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Tom »

Habe gerade die Doku und andere Quellen durchwühlt. Es gibt m.E. keine Möglichkeit, den Ursprung des Koordinatensystems selbst zu bestimmen.
Herzlich,
Tom
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Martin Altmann »

Habe ich auch gemacht, geht nicht.
Aber nun versuche ich gerade, zu rechnen. Wenn ich das als Formel im Designer eingebe, klappt das mit den Variablen - aber im vorbereiteten .lst nicht so, wie gedacht:

Code: Alles auswählen

...
 Position/Left=(10000*HUNDELINKS)
 Position/Top=(297000-(10000*HUNDEUNTEN)-((HUNDESCHRG/2)*100))
 Position/Width=235880
 Position/Height=20090
...
HUNDELINKS ist 2.50
HUNDEUNTEN ist 16.70
HUNDESCHRG ist 7
Für beide Rechnungen kommt 0 raus. Müssen da die Nachkommastellen abgeschnitten werden? Stört er sich vielleicht da dran?

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Martin Altmann »

Ne - ein Round davor hilft auch nichts...
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Tom »

Stört er sich vielleicht da dran?
Oder an Deinen Variablennamen? :wink:

Wie definierst Du die übergebenen Werte? LlDefineVariableExt() oder ohne "Ext"?
Herzlich,
Tom
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von Martin Altmann »

Mit Ext.
Die Variablen sind auch da (und die Namen ok - ich kann zwar die Werte so nicht abfragen im Designer, aber wenn ich mir eine Formel zusammenklicke und dann eine der Variablen rauspicke, steht dort auch der Wert drin, also z.B. 2,50)
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: PDF-Datei als Vorlage, Text einmischen

Beitrag von brandelh »

deine Variablen sind in cm, LL nutzt 297000 ... 1/100 mm ... verwenden die eventuell nur Integervariablen ?
Hast du mal per Hand ausgerechnet was du erwartest und das als Zahl eingetragen ob das Ergebnis besser wird ?
Eventuell die Werte int(2,50cm*10000) übergeben ...
Gruß
Hubert
Antworten