perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 25
Click for quality!




11.02.2012 / 07:53

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragSingleline 2 Multiline (nicht ganz einfach!)
Seitenanfang
Hallo, ich habe ein nicht ganz einfaches Problem:

Ich habe einen Text als String vorliegen. Der String enthält keine Zeilenumbrüche!

Nun möchte ich ein Unterprogramm schreiben was automatisch Zeilenumbrüche (Multiline) erzeugt.

Für das Beispiel gehen wir davon aus das nach 100 Zeichen ein Zeilenumbruch stattfinden soll.

Nun die Schwierigkeiten:
- Die Abfrage der Stringlänge ist in wirklichkeit ein Unterprogramm was mit hilfe von Textstring, Font und Schriftgrösse die Pixel berechnet. Beispielhaft wollen wir aber die Abfrage if (length($string) >= 100) benutzen!

- Solle ein zusammenhängendes Wort mal über 100 Zeichen haben ist es nach dem hundertsten Zeichen mit einem Bindestrich zu trennen.

Mein bisheriger Lösungsansatz war folgender:


sub stringlength {
my $string = shift; # Der eigentliche Textstring
my $oldstring = "";
my $i = 0; # Dauerschleife vermeiden

while ((length($string) > 50) and ($i < 100)) {
$i++;
$string =~ s/\s+$//; # Leerzeichen am Zeilenende entfernen
$string =~ s/\s+(\S+)$//; # Alten Strin abtrennen
$oldstring = "$1 ".$oldstring; # Abgetrennten String speichern
if (length($string) <= 50) { # ggf. Ausgeben
print "StringOut: ".$string."\n";
$string = $oldstring;
$oldstring = "";
}
}
print "StringOut: ".$string."\n";

}

Ich bin für jede Hilfe dankbar!!!!


Datum: 22.04.2005-13:16

Beitragre: Singleline 2 Multiline (nicht ganz einfach!)
Seitenanfang
hallo, ich möchte hier noch mal mein problem etwas genauer beleuchten:

ich habe mir PdfLib Lite (www.pdflib.com) installiert.

problem ist aber das in der gratisversion die routine PDF_create_textflow nicht unterstützt wird. Die wird benötigt damit Text automatisch umgebriochen wird.

nun dachte ich mir mit der funktion PDF_stringwidth, die die textlänge ausmisst slbst eine subroutine zu schreiben was den automatisch den zeilenumbruch generiert.

und genau da liegt meine schwierigkeit!

ich wäre echt für jede hilfestellung dankbar!

Datum: 23.04.2005-14:49

-






-
-