[gelöst, anderen Weg gefunden] Brauche nochmal Eure...

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

yeti
*****
Beiträge: 324
Registriert: Mi, 20.10.2004 12:11
Wohnort: Emmendingen

[gelöst, anderen Weg gefunden] Brauche nochmal Eure...

Beitrag von yeti »

Hallo,

sorry erst mal für den allzu allgemeinen Titel aber ich weiß noch nicht wo "die Reise hingeht" und deshalb hab ich auch grad noch keine Ahnung, wie ich das Kind nun letztlich nennen soll ;)

Ich habe ja schon die eine oder andere Frage zum Thema gestellt und habe auch bereits tolle Hilfe erhalten. Leider scheitert es jetzt am geschützten PDF-Export, welshalb ich die Sache nochmal neu überdenken muss.

Eure Ideen zum Thema sind gefragt. Wenn jemand jeweils einen Codeschnipsel beisteuern kann ist gut, wenn nicht ist auch gut ;) Mir gehts erst mal um das rangehen an diese Aufgabe.

Meine Anforderungen:
Ich lasse einen Anwender/Sachbearbeiter ein Formular ausfüllen. Es geht hier um eine Art Kaufvertrag. Das heißt, der Empfänger soll im Nachhinein nichts mehr am Dokument ändern können. Es ist geplant das ganze als PDF (Anhang in einer Mail) zu versenden.

Der Empfänger druckt das dann aus, unterschreibt das und schickt es per Post oder Fax zurück.

Ich habe schon alles mögliche veanstaltet. Auch mit "extended PDF" hab ich mich versucht, da hab ich aber Probleme mit GhostScript. Beiträge hierzu findet Ihr hier:

viewtopic.php?t=6842&highlight=
und
viewtopic.php?t=7094&highlight=


Jetzt denke ich über eine neue Lösung nach. Ich muss ja nicht unbedingt die Formularfelder mit exportieren, sondern kann ja auch die Felder beim Export auslesen und den Text direkt ins Dokument schreiben. Das hab ich mir vorgenommen zu testen.
Allerdings kam mir dann gleich der Gedanke, daß ich ja unterschiedlich lange Inhalte haben kann, der "feste" Text sich aber nicht beispielsweise vom Umbruch her ändern soll.

Ich will also einen feststehenden Text haben, in dem dann eine Art Platzhalter mit beispielsweise 50 Zeichen Text vorgehalten wird. Wenn dann da nur 30 Zeichen gebraucht werden, soll es aber erst nach den gelanten 50 Zeichen mit dem normalen Text weitergehen, daß Layout muss also erhalten bleiben.

Mein Weg wäre dann etwa so, ich stelle eine Eingabemöglichkeit zur Verfügung, in der die Felder mit Inhalten gefüllt werden können. Dann schreibe ich die Inhalte der jeweiliegen Variablen an die dafür vorgesehenen Stellen im Text.

Das ganze dann als PDF exportiert, dürfte keine Probleme mehr bereiten... ;) Oder?

Ich hoffe ich habe die Problemstellung verständlich formulieren können. Nun hoffe ich, auf Tips und Anregungen, wie Ihr das lösen würdet. Wie gesgat, das Layout muss erhalten bleiben. Es darf nicht ein Wort früher umgebrochen werden, nur weil der Inhalt einer variablen noch genug Platz lässt.

Über Eure Anregungen und Tipps freue ich mich schon jetzt. Ist besser als eiersuchen ;)

Vielen Dank im voraus, Gruß
Yeti
Zuletzt geändert von yeti am So, 16.04.2006 19:05, insgesamt 1-mal geändert.
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Ja und warum reicht dafür nicht das was OpenOffice.org dafür vorsieht, also meinethalben ein Platzhalter oder ein Eingabefelde?
Einfügen-Feldbefehl dort Register Funktionen


Gruß
Stephan
yeti
*****
Beiträge: 324
Registriert: Mi, 20.10.2004 12:11
Wohnort: Emmendingen

Beitrag von yeti »

Hi,

hab ich mit Eingabefeldern noch gar nicht probiert. Sind die denn nach dem PDF Export auch nicht mehr änderbar? Ich meine das müsste ich mal testen.

Eingabefelder klar, das kenne ich... warum ich seinerzeit Formularfelder verwenden wollte weiß ich grag auch nicht mehr ;)

Aber wo finde ich "Platzhalter"?

Gruß Yeti
hol.sten
******
Beiträge: 871
Registriert: Fr, 18.11.2005 21:21

Beitrag von hol.sten »

yeti hat geschrieben:Eingabefelder klar, das kenne ich... warum ich seinerzeit Formularfelder verwenden wollte weiß ich grag auch nicht mehr ;)
Wahrscheinlich weil die in ihrer Größe, in Abhängigkeit von der Menge des eingegebenen Textes, variabel Breit sind und damit dein Layout ändern, was du ja wohl nicht willst (Zitat: "...,daß Layout muss also erhalten bleiben").
yeti hat geschrieben:Aber wo finde ich "Platzhalter"?
Da wo Stefan gesagt hat: "Einfügen" -> "Feldbefehl" -> "Andere..." -> "Funktionen".

With kind regards
hol.sten
yeti
*****
Beiträge: 324
Registriert: Mi, 20.10.2004 12:11
Wohnort: Emmendingen

Beitrag von yeti »

Vielen Dank... leider hat mich das auch nicht recht weitergebracht. Ich weiß jetzt lediglich, daß ich keine feste Feldlänge definieren kann.

Das Layout zerreißt es mir jedesmal. Oder hab ich wsa übersehen? Mit Eingabefeldern UND Platzhaltern komme ich nicht zum gewünschten Ergebnis. Dies klappt nur mit Formularfeldern, und die bekomme ich nicht "geschützt" exportiert.

Hat jemand eine Idee, wie ich zum Ziel kommen kann?

Vielen Dank im voraus,
Yeti
yeti
*****
Beiträge: 324
Registriert: Mi, 20.10.2004 12:11
Wohnort: Emmendingen

Beitrag von yeti »

Ich glaube ich hab da jetzt einen Lösungsweg gefunden.

Ich füge einen Textrahmen ein mit einer bestimmten Länge. In diesem Textrahmen befindet sich mein Eingabefeld. Der für den Textrahmen reservierte Platz läßt mein Layout auch halten, wenn ich weniger Text als erlaubt eingebe.

Ein kleines Problem gibt es jetzt noch, das frag ich aber im Writer-Forum. DA passt es besser hin.

Gruß Yeti
hol.sten
******
Beiträge: 871
Registriert: Fr, 18.11.2005 21:21

Beitrag von hol.sten »

yeti hat geschrieben:Dies klappt nur mit Formularfeldern, und die bekomme ich nicht "geschützt" exportiert.
Dieses "schützen" heißt bei PDF-Dokumenten "flatten" (übersetzt platt machen). Das kann man nach dem Export als PDF z. B. mit "pdftk" von http://www.accesspdf.com/pdftk/ machen. Oder man schreibt sich ein kleines Java-Progrämmle und bindet fürs Flatten itext von http://www.lowagie.com/iText/ ein (so habe ich es gemacht).

With kind regards
hol.sten
Antworten