Autor Thema: PDFs erstellen mit iText Java-Klasse  (Gelesen 11307 mal)

Offline Eknuf

  • Frischling
  • *
  • Beiträge: 24
  • Ich liebe dieses Forum!
PDFs erstellen mit iText Java-Klasse
« am: 17.05.06 - 13:10:52 »
Hallo Leute,

ich möchte aus Lotus Notes heraus, PDFs erzeugen. Dazu habe ich mir bereits den Source-Code von http://www.lowagie.com/iText/download.html heruntergeladen.

Nach dem Import in die Script-Bibliothek meiner LN-Datenbank treten beim kompillieren jede Menge Fehler auf.

Kann mir jemand einen Tip geben, wie ich die iText Klasse optimal einbinde.  Habe schon viel gehört, dass es ganz gut funktionieren soll. Nur leider habe ich nichts zur richtigen Verwendung unter Lotus Notes gefunden. Zudem ist mir nicht klar ob der Domino-Server noch irgendwie vorbereitet werden muss.

Es wäre super, wenn mir jemand helfen könnte. Ich bin schon ca. 1 Woche an dem Problem dran. Lasse mich auch nicht entmutigen, nur leider komme ich nicht richtig vorwärts.

Domino Server 6.5
Client 6.1 CF1

Cu Eknuf

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #1 am: 17.05.06 - 13:24:14 »
Source Code   ::) ;D
Du mußt die jars einbinden. (itext1-4.jar)
Auf meinem Rechner, würde ich die in dieses Verzeichnis tun.
C:\notes7\jvm\lib\ext
Such dir eins, das ähnlich aussieht und tue da einfach das jar rein. Danach mußt du den Client nochmal neu starten. Server ist so ähnlich, aber zum entwickeln erstmal noch nicht.

im faq hab ich was gefährliches mit xml-parser gelesen. Dies könnte bewirken, dass sich diese Library nur in Domino7 einbinden läßt. Bin mir da aber nicht sicher. Habs noch nicht ausprobiert.


« Letzte Änderung: 17.05.06 - 13:37:21 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #2 am: 17.05.06 - 13:37:50 »
was du brauchst ist nicht der Sourcecode, sondern der kompilierte Code. Du willst das Teil ja vermutlich nicht selber kompilieren, sondern nur als Bibliothek nutzen.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #3 am: 17.05.06 - 13:41:06 »
auf die idee, bin ich nachher auch gekommen.

UND:LEUTE. Es ist keine verdammt Hexerei, so etwas im Griff zu haben. Man sollte aber wirklich darum kümmern, sich ständig ein bischen mit den Grundlagen zu beschäftigen.
Hmm. Gentlemen.
Wer liest gerade die 1.400 (oder mehr) Bruce Eckel, Thinking in Java Edition 4?
Richtig. Der Typ, der sowieso schon die ganze Zeit die Fragen beantwortet.
Wer keine Lust auf Grundlagen hat, der kann vielleicht Robert Basic seine Blogging Schule besuchen und Blogger werden. Dann ist sowieso alles egal  :D
(bitte von keiner Seite irgendwie persönlich nehmen).

Gruß Axel
« Letzte Änderung: 17.05.06 - 13:45:47 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Eknuf

  • Frischling
  • *
  • Beiträge: 24
  • Ich liebe dieses Forum!
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #4 am: 17.05.06 - 16:37:41 »
Hallo ,

habe es so genau probiert.

Die Datei itext1-4.jar in C:\lotus\notes\jvm\lib\ kopiert. 

Dann einen Agenten geschrieben mit Beispiel von http://itextdocs.lowagie.com/examples/com/lowagie/examples/general/HelloWorld.java

Lotus gibt kein Fehler aus. Leider geht aber auch kein PDF auf.

Noch ein Tipp oder so? - Ich verzweifle langsam an mir selbst.

Cu Eknuf

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #5 am: 17.05.06 - 17:18:37 »
Was erwartest du, dass dein Programm macht?

Du erzeugst mit dem gezeigten Beispiel eine Datei mit dem Namen "HelloWorld.pdf". Da du kein Verzeichnis angibst, kann ich nicht sagen, wo die Datei erzeugt wird. Vielleicht im Notes-Arbeitsverzeichnis?
Ich würde den Code so ändern, dass du die Datei in einem von dir vorgegebenen Verueichnis erzeugst und nach dem Ablauf deines Programms schaust du dann, ob die Datei da ist.

Falls du weitere Probleme hast ist es zwingend erforderlich, dass du sowohl den Quellcode deines Programms hier bringst, als auch die komplette Fehlermeldung, falls vorhanden. Problembeschreibungen wie "treten beim kompillieren jede Menge Fehler auf" sind nicht verwertbar.
« Letzte Änderung: 17.05.06 - 17:21:48 von Thomas Völk »
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #6 am: 17.05.06 - 17:46:09 »
ich habe da auch so meine Probleme.

Beim Kompilieren des Agenten sagt mir Notes

package com.lowagie.text not found

Ich denke, daß das auch bei Eknuf der Fall ist und der Agent deshalb nicht läuft.

Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #7 am: 17.05.06 - 17:58:44 »
ich habe da auch so meine Probleme.

Beim Kompilieren des Agenten sagt mir Notes

package com.lowagie.text not found

Ich denke, daß das auch bei Eknuf der Fall ist und der Agent deshalb nicht läuft.



OK, eknuf sagte ja, dass er keine Fehlermeldung bekommt.
eknori, nur um sicher zu gehen, hast du die jar-Datei wie hier unter Adding resource, class, or archive files to an agent  beschrieben, eingebunden?
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #8 am: 17.05.06 - 18:17:07 »
@Thomas:

ich habe das .jar so wie Axel es beschrieben hat, einfach in das Notes\jvm\lib Verzeichnis kopiert und den Agentencode von der Webseite in einen neuen Agenten kopiert.
War eher ein Schnellschuss. Werde mir den Link einmal ansehen. Wenn ich dann noch Probleme habe, melde ich mich wieder. Momentan sind Mathe Hausaufgaben angesagt  :P
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #9 am: 17.05.06 - 18:24:03 »
kaum macht man es richtig ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #10 am: 17.05.06 - 18:28:14 »
pdf wird aber keins erzeugt; ok, muss ich mir mal weiter ansehen. Jetzt ist erst mal wieder Mathe angesagt ...

Due Debug console wirft übrigens ein gar nicht freundliches

Error loading Agent Base Class

aus
« Letzte Änderung: 17.05.06 - 18:35:15 von eknori »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #11 am: 17.05.06 - 18:59:23 »
Da bin ich überfragt. Das müssen die Leute beantworten, die Notes mit Java nutzen. Ich kann gerne wieder bei der pdf-Bibliothek weiterhelfen.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #12 am: 17.05.06 - 19:05:37 »
macht nix; vielen Dank für deine Unterstützung

btw, jetzt wirft die Debug Console folgenden Fehler raus

Error loading Agent Class: HelloWorld
java.lang.ClassNotFoundException: HelloWorld
   at lotus.domino.AgentLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:494)
   at lotus.domino.AgentLoader.runAgent(Unknown Source)
« Letzte Änderung: 17.05.06 - 19:07:24 von eknori »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #13 am: 17.05.06 - 20:09:22 »
Das als Agent:
Funktioniert so nur auf Windows (Ginge auch anders, ich schlag später mal nach).
Das PDF landet in:
C:\\temp\\HelloWorld.pdf

Lokaler Java Agent mit Notes7.
Agent--> Auswahl im Menü Aktionen, Ziel: keines

Code
import lotus.domino.*;
import com.lowagie.text.*;
import com.lowagie.text.pdf.PdfWriter;
import java.io.FileOutputStream;
import java.io.IOException;

public class JavaAgent extends AgentBase {

	public void NotesMain() {

		try {
			Session session = getSession();
			AgentContext agentContext = session.getAgentContext();
System.out.println("Hello World");

		// step 1: creation of a document-object
// NAMESPACE MUSS EXPLIZIT ANGEGEBEN WERDEN. 
		com.lowagie.text.Document document = new com.lowagie.text.Document();
		try {
			// step 2:
			// we create a writer that listens to the document
			// and directs a PDF-stream to a file
			// WINDOWS ONLY. ICH BIN MÜDE
			PdfWriter.getInstance(document,
					new FileOutputStream("C:\\temp\\HelloWorld.pdf"));

			// step 3: we open the document
			document.open();
			// step 4: we add a paragraph to the document
			document.add(new Paragraph("Hello World"));
		} catch (DocumentException de) {
			System.err.println(de.getMessage());
		} catch (IOException ioe) {
			System.err.println(ioe.getMessage());
		}

		// step 5: we close the document
		document.close();

			// (Fügen Sie Ihren Code hier ein) 

		} catch(Exception e) {
			e.printStackTrace();
		}
	}
}

Klar geht das eleganter. Hab aber hier einfach nur den Code des Beispiels in den Agenten kopiert. Als separate Klasse kann ich später mal posten. Ich bin müde.



Gruß Axel
« Letzte Änderung: 17.05.06 - 20:12:08 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #14 am: 18.05.06 - 09:35:43 »
ich habe [...] den Agentencode von der Webseite in einen neuen Agenten kopiert.

Ach so, daran kanns natürlcih auch liegen. So ein NotesAgent muss von einer bestimmten Klasse abgeleitet sein, das ist bei dem iText-Beispiel nicht der Fall, das hat ja erstmal nichts mit Notes zu tun. Aber Axel hat ja mittlerweile ein laufendes Beispiel gebracht.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #15 am: 18.05.06 - 09:44:21 »
Du kannst es ja posten und ich erkläre mit meinen Worten und denen von Bruce Eckel, warum das nicht funktioniert. Es sind eigentlich immer die selben Probleme. CNF (ClassNotFound ist ein sehr typisches Problem von Leuten, die eher wenig Erfahrung mit Java haben). Letztlich gehts um die ewige Frage: Was ist der Classpath und was ist im Classpath?
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #16 am: 18.05.06 - 16:52:29 »
So, jetzt funktioniert es.

Einzig die Zeile

package com.lowagie.examples.general;

musste ich dem Code von Axel noch hinzufügen. Ohne die Zeile tat es der Code nicht ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #17 am: 18.05.06 - 22:02:58 »

package com.lowagie.examples.general;
???
Kannst du mir mal den Agenten posten. Das verstehe ich ehrlichgesagt überhaupt nicht.
Warum sollte man diese Zeile in meinen Code posten?
Er tuts auch so. Außerdem ist diese Zeile imho sinnlos.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #18 am: 19.05.06 - 05:21:09 »
Gerne:

package com.lowagie.examples.general;
import lotus.domino.*;
import com.lowagie.text.*;
import com.lowagie.text.pdf.PdfWriter;
import java.io.FileOutputStream;
import java.io.IOException;

public class JavaAgent extends AgentBase {

public void NotesMain() {

try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
System.out.println("Hello World");

// step 1: creation of a document-object
// NAMESPACE MUSS EXPLIZIT ANGEGEBEN WERDEN.
com.lowagie.text.Document document = new com.lowagie.text.Document();
try {
// step 2:
// we create a writer that listens to the document
// and directs a PDF-stream to a file
// WINDOWS ONLY. ICH BIN MÜDE
PdfWriter.getInstance(document,
new FileOutputStream("C:\\temp\\HelloWorld.pdf"));

// step 3: we open the document
document.open();
// step 4: we add a paragraph to the document
document.add(new Paragraph("Hello World"));
} catch (DocumentException de) {
System.err.println(de.getMessage());
} catch (IOException ioe) {
System.err.println(ioe.getMessage());
}

// step 5: we close the document
document.close();

// (Fügen Sie Ihren Code hier ein)

} catch(Exception e) {
e.printStackTrace();
}
}
}

Ohne die zeile erzeugt er mir kein PDF, aber mit.  ???

Ohne diese Zeile wirft der Debugger folgendes aus:

Code
Error loading Agent Class: com.lowagie.examples.general.JavaAgent
java.lang.ClassNotFoundException: com.lowagie.examples.general.JavaAgent
	at lotus.domino.AgentLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:494)
	at lotus.domino.AgentLoader.runAgent(Unknown Source)
« Letzte Änderung: 19.05.06 - 05:23:27 von eknori »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Eknuf

  • Frischling
  • *
  • Beiträge: 24
  • Ich liebe dieses Forum!
Re: PDFs erstellen mit iText Java-Klasse
« Antwort #19 am: 19.05.06 - 09:23:38 »
Hallo Alex,

danke für deine Tipps auf dem Client lokal funktioniert es schon einmal supi.

Danke für eure Hilfe.

Bei mir lag es definitiv an den doppelten Backslashs für den Dateipfad.

Ich danke euch!

Cu
Eknuf

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz