2017-08-10 3 views
0

Ich benutze ABCPDF.net zum Generieren von PDF-Seiten. Wir haben ein Problem mit dem Silbentrennungssystem.ABCPDF.Net AddText Control Silbentrennung

Zum Beispiel, wenn wir einen Text mit langen Worten

doc.AddText("This is a Verylongwordwhichdoesntfit"); 

und die Rect ist zu klein hinzufügen, erhalten wir:

dies ist ein verylongwo
rdwhichdoesntfit.

Meine Frage ist jetzt: Kann ich steuern, wo es eine neue Zeile beginnt. um zwischen Wort und Wort zu unterscheiden. Und kann ich sagen, es zu benutzen - vor der Pause so?

dies ist ein verylongwo-
rdwhichdoesntfit.

Vielen Dank. hier

Antwort

0
+0

1. Er müsste AddHtml anstelle von AddText verwenden, um irgendetwas zu bedeuten. 2. Er müsste entweder bestimmte Buchstaben als brechbare Zeichen angeben (wie "break after [aeiou]") oder den Text bearbeiten, um weiche Trennstriche hinzuzufügen, damit die Silbentrennung dort erfolgt, wo er sie wünscht. 3. Wenn er den Text nicht bearbeitet, um weiche Bindestriche hinzuzufügen, wird das Bindestrichzeichen nicht angezeigt, Punkt. –

+0

4. Link-only-Antworten werden von Stack Overflow abgeraten. –

0

Zum einen mit .AddText() gibt es keine Möglichkeit, hyphenation überhaupt. Sie müssten zu wechseln.

Zweitens, nein, abcpdf hat keine Intelligenz über Bindestrich überhaupt; Es kann gesagt werden, dass Zeilen nach bestimmten Zeichen unterbrochen werden (Standard ist Leerzeichen), aber es kennt keine englischen Wörter oder Silben. Siehe http://www.websupergoo.com/helppdfnet/source/3-concepts/b-htmlstyles.htm#stylerun (Suche nach canBreakAfter zu diesem Link)

Wenn Sie in der Lage sind, Ihren Text zu bearbeiten, Sie weichen Bindestrich Zeichen

http://www.websupergoo.com/helppdfnet/source/3-concepts/b-htmlstyles.htm#stylerun, letzte Zeile des "Chars" Abschnitt

verwenden können

Wenn Sie eine genaue Kontrolle über die Silbentrennung benötigen, können Sie das weiche Bindestrichzeichen verwenden - ­. Dieses Zeichen ist unsichtbar und zeigt einen Punkt an, an dem ein Stück Text vernünftigerweise gebrochen werden kann.

Zum Beispiel, würden Sie diesen Befehl verwenden, und es könnte an einen der Orte zu brechen, wo die ­ erscheint:

doc.AddHtml("This is a Very­long­word­which­doesnt­fit"); 

Aber auch das wird die sichtbaren Bindestriche in der Pause nicht hinzufügen Ich denke nicht.

Verwandte Themen