PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : rtf erstellen


tsunamitsunami
29.08.2006, 17:45:38
Hallo freaks,
kann ich via php ein rtf generieren? Einfache txt-files klar, aber formatiert?
Gruß + Danke
tsunamitsunami

meikel (†)
30.08.2006, 00:33:00
Hallo freaks,
kann ich via php ein rtf generieren?
Nein. Du kannst das nicht. Könntest Du das, würdest Du nicht fragen, ob Du das kannst.

Einfache txt-files klar, aber formatiert?
Korrekt. Mehr als ein einfaches Textfile ist das nicht. Und alle Zeichen außerhalb von US-SCII mußt Du entsprechend der RTF-Dokumentation (einfach mal Google fragen) kodieren.

tsunamitsunami
30.08.2006, 09:20:19
Guten Morgen,

@meikel Komiker!

Natürlich kann ich es nicht! Meine Frage ging eigendlich in die Richtung, ob so etwas möglich ist. Ich möchte eigendlich eine Rechnung generieren. Ursprünglich hatte ich einfach an die Druckfunktion gedacht, aber da habe ich in der Kopfzeile diese unschönen Zeilen mit dem Dateinamen etc.
pdf generieren geht auch, aber die Libary dafür scheint massiv kostenpflichtig zu sein.
Notfalls muß ich ein txt file erzeugen und dies dann als rtf speichern.

mfG
tsunamitsuanmi

xlb
30.08.2006, 09:34:56
pdf generieren geht auch, aber die Libary dafür scheint massiv kostenpflichtig zu sein
Damit meinst du wahrscheinlich "PDFLib" ?

Gäb'da durchaus vergleichbare freie Alternativen, wie "FPDF (http://www.fpdf.org/)".

MatMel
30.08.2006, 13:02:09
Schau dir doch mal die Wikipedia seite über rtf an:
http://de.wikipedia.org/wiki/Rich_Text_Format
Da ist dieses Beispiel:
{\rtf
Guten Tag!
\par
{\i Dies} ist ein
kleiner {\b Text}.
\par
Das Ende.
}

Wenn du das so per fputs und co in eine .rtf Datei schreibst, sollte es, wenn der Benutzer es mit den entsprechenden Programmen öffnet, korrekt angezeigt werden.
Nach den ganzen Befehlen musst du dann wohl selber suchen!

tsunamitsunami
30.08.2006, 21:28:02
Danke euch!
Das sind erstmal etliche Infos. Muß mich nun nur noch entscheiden, ob ich ein rtf generiere oder doch alle Änderungen in einem html-Formular eingebe und dann doch ein pdf draus mache.

Danke! Die Links sind top!
Gruß
tsunamitsunami

meikel (†)
30.08.2006, 23:09:48
@meikel Komiker!

Natürlich kann ich es nicht!
Warum fragst Du uns, ob Du etwas kannst, wenn Du schon weißt, daß Du es noch nicht kannst? Eine Abfrage (Verzweigung oder Fallentscheidung) in PHP ist letztlich auch nur ein klar definierte Frage: WENN Bedingung DANN das FALLS_NICHT das_andere.

Also bitte mehr Sorgfalt bei der Formulierung einer Frage. Der PHP Interpreter ist wesentlich pingeliger als ich.
Meine Frage ging eigendlich in die Richtung, ob so etwas möglich ist.
Solche Fragen erübrigen sich, wenn man sich die jeweilige Spezifikation anguckt. Selbst die Frage, welche RTF Klasse empfehlenswert ist, erübrigt sich auch, wenn man sich die Angebote mal anguckt.

Notfalls muß ich ein txt file erzeugen und dies dann als rtf speichern.
Das Linuxtool HTMLDOC, welches ua. aus einem HTML Dokument ein PDF File generieren kann, oder zB. FPDF (eine freie Klasse zur Erzeugung von PDF Dokumenten) könnten Dir da Zeit sparen.

tsunamitsunami
06.09.2006, 09:43:03
Guten Morgen!
Also da ich hier sonst keinen Beitrag zu dem Thema gefunden habe, möchte ich euch meine Erkenntnisse nicht vorenthalten. Ich habe folgendes herausgefunden:

Um ein rtf zu generieren hatte ich erst versucht mit fopen, fwrite, echo etc. zu hantieren. Tats aber alles nicht, weil Office mir die Tags als Text dargestellt hat.
Die Lösung:

Als aller erstes muß oben drüber die Zeile
<?php Header('Content-Type: application/rtf')?>
Danach kann php-Code folgen. Datenbankzugriff etc. Ohne Ausgaben. Dann muß der ganze rtf-"Code" folgen:
{\rtf1\ansi\deff0\adeflang1025
{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset0 Times New Roman;}{\f2\fnil\fprq2\fcharset0 Kochi Mincho;}{\f3\fnil\fprq2\fcharset0 KacstBook;}}
{\colortbl;\red0\green0\blue0;\red258\green258\blue258;}
{\stylesheet{\s1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\afs24 \lang255\ltrch\dbch\af2\afs24\langfe255\loch\f0\fs24\lang1031\snext1 Standard;}
}
{\info{\comment StarWriter}{\vern6410}}\deftab2550
{\*\pgdsctbl
{\pgdsc0\pgdscuse195\pgwsxn11905\pghsxn16837\marglsxn1134\margrsxn1134 \margtsxn1134\margbsxn1134\pgdscnxt0 Standard;}}
\paperh16837\paperw11905\margl1134\margr1134\margt1134\margb1134\sectd \sbknone\pgwsxn11905\pghsxn16837\marglsxn1134\margrsxn1134\margtsxn113 4\margbsxn1134\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\a ftnstart1\aftnnrlc
\pard\plain \s1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\afs24\lang255\ltrc h\dbch\af2\afs24\langfe255\loch\f0\fs24\lang1031 {\ltrch\loch\f0}\par\par\par\par\par\par\par\par{Fa.}\par{<?php echo $firmenname;?>}\par{<?php echo $anrede;?>} { <?php echo $ansprechpartner;?>}\par{<?php echo $adresse;?>}
\par\par{\b{<?php echo $plz?>} {<?php echo $ort;?>}}
\par
\par {\ltrch\loch\f0}
\par }
Zwischendrin kann man mit <?php echo $ausgabe['...']... ?>die Datenbankinhalte oder das aktuelle Date dynamisch einfügen.

Gruß + Danke für die konstruktiven Stöße in die richtige Richtung!
tsunamitsunami

meikel (†)
06.09.2006, 13:12:58
http://www.phpclasses.org/browse/package/1805.html

This is a class for creating RTF document files from HTML.

RTF is a popular rich text format meant for interchange of documents between any word processor program.

The class parses and converts to RTF various HTML tags, such as:

<strong>, <em>, <u>, <strike>, <ul>, <li>, <br>, <p>, <h1>, <h2>, <h3>

An example script is included to implement a Web based WYSIWYG editor that saves documents in RTF format.