Formatierungsproblem nach Schreiben in rtf-Datei

Kaeschdin

Erfahrenes Mitglied
Hallo zusammen,

ich bin ganz stolz auf mich, weil ich als Newbiene folgendes Skript hinbekommen habe:

PHP:
<?
$quelle = file_get_contents("quelle.rtf");
$ziel = file_get_contents("ziel.rtf");
$sNewContent  = ereg_replace("platzhalter", $quelle, $ziel);
$iFileHandler = fopen("ziel.rtf", "w");
fputs($iFileHandler, $sNewContent);
fclose($iFileHandler);
?>

Aber das nur nebenbei :)

Mein Problem:

Die beiden Dokumente waren ursprünglich stark formatierte Word-Dokumente, die ich in rtfs umgewandelt habe. Nachdem der platzhalter durch den Inhalt der Quell-Datei ersetzt wurde, sind einige Formatierung zerschossen, nämlich:

Formatvorlage "Überschrift 1"
Formatvorlage "Aufzählungszeichen"

Kann das mit den Umlauten der Formatvorlagen zu tun und falls ja, wie bekomm ich das Problem in den Griff?

edit: Hab gerade geschaut. Es kann eigentlich nicht daran liegen, denn mit "Überschrift" hat das Skript kein Problem.

Komischerweise zerschießt er die Formatierung nicht in dem Teil, der den Platzhalter ersetzt hat. Es betrifft nur den Text, der vorher schon in der Ziel-Datei war.

Please help! :)
 
Zuletzt bearbeitet:
Hallo!

Also, wenn ich das richtig verstehe, versuchst du den Inhalt einer RTF-Datei an eine andere anzuhängen?
Wenn ich mich jetzt nicht irre, geht das nicht SO einfach!
Denn sämtliche Formatierungen (Schriftarten,...) werden beim RTF-Format in den ersten Zeilen vorgenommen.

Da ich mal 'ne PHP-RTF-Klasse gemacht hab', die HTML in RTF umwandelt (und das ohne DOM),weiss ich ein bisschen wie das aussieht:

In den ersten Zeilen gibt es eine Liste mit Schriftarten, in der sämtliche Schriftarten definiert sind (die Namen der Schriftarten), die im Dokument Verwendung finden.

Da du nun das zweite Dokument an das erste Dokument hängen willst, befindet sich die Schriften-Definitionsliste ja nicht mehr im Kopf der RTF-Datei und die Schrift kann nicht mehr gefunden werden (da bei Verwendung der jeweiligen Schriften nur die Nummer der Schrift in der Definitionsliste angegeben wird - und nicht deren Name).
 
Original geschrieben von rootssw
Hallo!

Also, wenn ich das richtig verstehe, versuchst du den Inhalt einer RTF-Datei an eine andere anzuhängen?

Exakt. Allerdings kann es auch mal vorkommen, dass der neue Inhalt nicht ganz hinten landen soll, sondern irgendwo zwischendrin ... da, wo halt der Platzhalter positioniert wurde.

Original geschrieben von rootssw
Da du nun das zweite Dokument an das erste Dokument hängen willst, befindet sich die Schriften-Definitionsliste ja nicht mehr im Kopf der RTF-Datei und die Schrift kann nicht mehr gefunden werden (da bei Verwendung der jeweiligen Schriften nur die Nummer der Schrift in der Definitionsliste angegeben wird - und nicht deren Name).

Aber es gehen komischerweise nur zwei Formatierungen verloren. Alle anderen wie zum Beispiel Überschrift 2 bleiben wie sie waren.

Gibt's eine Lösung für dieses Problem?
 
Hhhhmmm!
Komisch. Naja, um das Problem zu LÖSEN, ist mein Wissensstand in Sachen RTF leider nicht mehr aktuell genug (alles vergessen). :(
 
Zurück