[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/privacyprotection/cron/task/anonymize_ip.php on line 83: A non-numeric value encountered
Inoffizielles deutsches Xbase-Forum • PDF-Datei als Vorlage, Text einmischen [Irrelevant]
Seite 1 von 2

PDF-Datei als Vorlage, Text einmischen [Irrelevant]

Verfasst: Di, 10. Mär 2015 13:18
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

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 10. Mär 2015 14:14
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.

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 10. Mär 2015 14:28
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

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 10. Mär 2015 14:30
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.

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 10. Mär 2015 14:36
von Martin Altmann
Ich danke Dir!

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Sa, 11. Apr 2015 13:46
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

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 14. Apr 2015 15:45
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

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 14. Apr 2015 15:57
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.

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 14. Apr 2015 17:06
von Martin Altmann
Und leider auch schnell im Filesystem gelöscht...

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Mi, 15. Apr 2015 8:35
von Koverhage
schnell vielleicht, aber Du kannst die doch als ReadOnly und Hidden speichern.
Dann ist die Hürde ein wenig höher.

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Mi, 15. Apr 2015 8:57
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

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Mi, 15. Apr 2015 10:55
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.

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Mo, 27. Apr 2015 16:25
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

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 28. Apr 2015 10:37
von Tom
Seitengröße ermitteln und umrechnen. :wink:

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 28. Apr 2015 10:47
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

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 28. Apr 2015 11:20
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.

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 28. Apr 2015 11:36
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

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 28. Apr 2015 12:05
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.

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 28. Apr 2015 12:51
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.

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 28. Apr 2015 12:59
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.

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 28. Apr 2015 13:10
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

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 28. Apr 2015 13:14
von Martin Altmann
Ne - ein Round davor hilft auch nichts...

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 28. Apr 2015 13:29
von Tom
Stört er sich vielleicht da dran?
Oder an Deinen Variablennamen? :wink:

Wie definierst Du die übergebenen Werte? LlDefineVariableExt() oder ohne "Ext"?

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 28. Apr 2015 13:33
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)

Re: PDF-Datei als Vorlage, Text einmischen

Verfasst: Di, 28. Apr 2015 13:58
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 ...