Datei schreiben (RTF oder PDF)
- 
					
					
					
					
 Hi Leute Bin schon wieder da  diesesmal mit einer wirklich wichtigen frage 
 Weiss irgendwer wie man aus einem Java Programm heraus ein RTF oder PDF File erzeugen kann (Notfalls tut es auch HTML)ich brauch das um mir das drucken zu ersparen und der user kann sich das ganze gleich in einem brauchbaren format abspeichern ich bin auch am ueberlegen ob ich nicht irgendwie einfach aus meinem XML dokument mit den Daten ein HTML Dokument erzeugen kann 
 sollte ja mit XSL gehen (XPath und XSLT) => DAVON HAB ICH ABER KEINE AHNUNGdanke im voraus gomberl 
 
- 
					
					
					
					
 Leider kann ich dir nicht mehr sagen, als du eh schon weisst. Vielleicht noch ein Stichwort im Zusammenhang XML, XSLT ... XFO (XML Formatted Objects oder ähnlich) ... damit kann man dann tatsächlich PDF-Files generieren. 
 
- 
					
					
					
					
 nur eine erste idee... ich habe mal mit pdf unter c rumgespielt ... hat klasse geklappt ... hier ein auszug aus dieser library.. PDFlib V4.0.2Portable C library for dynamically generating PDF ("Adobe Acrobat") files, 
 with support for many other programming languages.Copyright (c) 1997-2002 PDFlib GmbH and Thomas Merz. All rights reserved. 
 PDFlib is a registered trademark of PDFlib GmbH.The PDFlib distribution is available from http://www.pdflib.com THIS IS NOT PUBLIC DOMAIN OR FREEWARE SOFTWARE -- 
 see end of this file for an overview of licensing and
 usage issues, and the file doc/PDFlib-license.pdf for details.The PDFlib purcharse order form for commercial usage can also 
 be found in the doc directory.OverviewPDFlib is a C library for generating PDF files. It offers a graphics 
 API with support for drawing, text, fonts, images, and hypertext. Call PDFlib
 routines from within your client program and voila: dynamic PDF files!
 For detailed instructions on PDFlib programming and the associated API,
 see the PDFlib Programming Manual, included in PDF format in the
 PDFlib distribution.In addition, you can deal with existing PDF documents if you have 
 the PDF import library (PDI). PDI is a separate product which is
 not available as open source.Supported Programming EnvironmentsThe PDFlib core library can be built as a static library or a shared 
 C library/DLL. PDFlib can be used from the following environments:- ANSI C libary (static or dynamic) 
 - ANSI C++ via an object wrapper
 - Perl
 - Tcl
 - PHP hypertext processor
 - Python
 - RPG
 - Java via the JNI, including servlets
 - ActiveX/COM (Visual Basic, Active Server Pages with VBScript and JScript,
 Windows Script Host, Delphi, ColdFusion, and numerous other environments).
 The ActiveX edition of PDFlib is available separately.The necessary wrappers for attaching PDFlib to these environments are 
 included in the distribution (except for ActiveX), as well as sample
 programs for all supported environments.da ist java dabei ... hab es mir grad durchgeschaut, vielleicht fahr ich gleich noch ne testfahrt.. hmm oder am wochenende  
 
- 
					
					
					
					
 ok.. 
 testfahrt abgschlossen:)du musst einfach nur die jar in den classpath setzen .. und schon erstellst du wunderschöne pdf files... gibt es für java pur, jsp und servlets.. hat sofort gefunzt  hier ein beispiel : mport java.io.*; import com.pdflib.pdflib; public class hello { public static void main (String argv[]) throws OutOfMemoryError, IOException, IllegalArgumentException, IndexOutOfBoundsException, ClassCastException, ArithmeticException, RuntimeException, InternalError, UnknownError { int font; pdflib p; p = new pdflib(); if (p.open_file("hello.pdf") == -1) { System.err.println("Couldn't open PDF file hello.pdf\n"); System.exit(1); } p.set_info("Creator", "hello.java"); p.set_info("Author", "Thomas Merz"); p.set_info("Title", "Hello world (Java)"); p.begin_page(595, 842); /* Change "host" encoding to "winansi" or whatever you need! */ font = p.findfont("Helvetica-Bold", "host", 0); p.setfont(font, 18); p.set_text_pos(50, 700); p.show("Hello world!"); p.continue_text("(says Java)"); p.end_page(); p.close(); } }die funktionsübersicht ist dabei.. viel spaß  
 
- 
					
					
					
					
 ach mist.. ist aber keine freeware, wie da oben schon steht.. die beispiele für java sind mit einem www... überdeckt.. schaus dir trotzdem mal an. 
  ps: im notfall gehts auf jeden fall in php ... da ist es easy  
 pps: diese hier scheint frei zu sein http://www.lowagie.com/iText/
 die probier ich morgen mal ...[ Dieser Beitrag wurde am 18.07.2002 um 22:45 Uhr von elise editiert. ] 
 
- 
					
					
					
					
 alles gut.. die http://www.lowagie.com/iText/ sind ok.. zieh dir die jar files von der sourceforge (die anderen links gehen nicht) 
 die jars dann in den classpath.es gibt ein gutes onlinetutorial, mit einigen examples zum runterladen. auch hier die möglichkeit, durch servlets pdf zu generieren oder durch "normale" java anwendungen. 
 zweiteres habe ich getestet und lief einwandfrei. für servlets muss ich gleich noch meine maschine anwerfen...so sähe hier eine testanwendung aus: import java.io.FileOutputStream; import java.io.IOException; import com.lowagie.text.*; import com.lowagie.text.pdf.PdfWriter; public class Chap0102 { public static void main(String[] args) { System.out.println("Chapter 1 example 2: PageSize"); // step 1: creation of a document-object Rectangle pageSize = new Rectangle(144, 720); pageSize.setBackgroundColor(new java.awt.Color(0xFF, 0xFF, 0xDE)); Document document = new Document(pageSize); try { // step 2: // we create a writer that listens to the document // and directs a PDF-stream to a file PdfWriter.getInstance(document, new FileOutputStream("Chap0102.pdf")); // step 3: we open the document document.open(); // step 4: we add some paragraphs to the document for (int i = 0; i < 5; i++) { document.add(new Paragraph("hallo")); } } catch(DocumentException de) { System.err.println(de.getMessage()); } catch(IOException ioe) { System.err.println(ioe.getMessage()); } // step 5: we close the document document.close(); } }also sehr übersichtlich. 
 viel spaß 
 
- 
					
					
					
					
 hi ich glaub das wird recht gut funktionieren 
 muss jetzt mal runterladen und dann nen kleinen test machen
 aber das wird ja wohl nicht das problem sein, schaetze ich malich frag mich nur mal wieder wo der bloede classpath gesetzt wird 
 es sollte reichen wenn ich es als filesystem mounte
 damit sollte sich der compiler zufrieden geben
 hoffe ich halt mal
 wenn nicht, dann nichtich hasse das 
 seitdem ich forte benutze weiss ich nie wo ich das alles umstellen kann, weil ich eigentlich nirgends meinen classpath direkt setze sondern das eine compiler option istaber ich dank dir nochmal 
 und werd mich am montag dahintersetzenlg gomberl 
 
- 
					
					
					
					
 Hehe Klasse! So viel Einsatz gibts wohl in keinem Forum - wieder was für die FAQs  
 
