html2pdf - TCPDF : Zeilenumbruch in Tabellenzelle mit zero width space (ersetzt durch '?' im PDF-Format)
Ich bin mit html2pdf (selbst mit TCPDF) zu konvertieren ein HTML-element Tabelle in eine PDF-Datei. Diese Tabelle hat dynamischen Inhalt, das heißt dass die Anzahl der Spalten kann variieren (manchmal 3, manchmal 11 Spalten, etc...).
Einer Spalte enthält eine Nummer, die wirklich lange (ex: BF8545498134587). Mein problem ist, dass wenn es gibt eine Menge von Spalten, diese Zahl übersteigt die Breite der Spalte. Ich möchte wickeln Sie es (wie die Verwendung von wrap-word in HTML/CSS). Aber html2pdf keine Unterstützung für diese CSS-Eigenschaften.
Ich habe eine Lösung gefunden (dort: Html2pdf nicht unterstützt word-break:break-all css ), die darin besteht, das einfügen von ein zero width space (​
im HTML \xE2\x80\x8B
im UTF-8 ) zwischen den einzelnen Zeichen. Es funktioniert einwandfrei in HTML, sondern in das PDF-Dokument, das zero width space wird ersetzt durch '?'.
Ich habe versucht, ändern Sie die Schrift-Familie in der TCPDF-Klasse (nachdem Sie sich gefunden : http://www.fileformat.info/info/unicode/char/200b/fontsupport.htm zu wissen, welche schriftart für die Verwendung mit diesem HTML-entity), aber nichts hat sich geändert...
Sah ich die anderen Antworten sagen, zu verwenden TCPDF Funktionen wie writeHTMLCell()
oder mit MultiCell()
eher als Cell()
aber ich kann nicht für diese Lösungen für die mehrere Gründe, warum darf ich nicht sagen hier.
So, ich weiß nicht, wo Sie jetzt Aussehen.
Vielen Dank im Voraus für jede Hilfe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicolas, müssen Sie prüfen, ob Sie die Datei speichern, ohne die Verwendung BOM. Zum Beispiel, in Notepad++ für windows oder Geany für Linux, Sie haben diese Möglichkeit einfach setzen.
Stellen Sie sicher, dass Ihre Datei die Kodierung UTF-8.
Den UTF-8-Zeichen werden verarbeitet nach Ihren HTML2PDF Einstellungen:
EDIT 1:
Die Art und Weise der Verwendung von Leerzeichen
' '
- ist das nicht eine sehr gute Praxis und ich würde erwarten, dass das problem kommt von hier. Versuchen Sie, ersetzen Sie es mit 
oder%20
. Ich würde mit dem ersten.Erläuterungen:
%20
EDIT 2:
Wahrscheinlich mit Margen helfen würde:
EDIT 3:
Gefunden auf einige Adobe-Foren, dass Sie empfehlen die Verwendung für den Platz:
Erläuterungen:
funktioniert (sogar seine Entsprechung 
), aber nicht​
...
- unzerbrechlich Raum. Wenn Sie___
werden Sie nicht bekommen, 3 Platz auf der HTML-Seite aber nur eine. Wenn Sie
- in diesem Fall Sie. Verwenden Sie einfach
alle, statt einem einfachen Raum. Es sollte dein problem lösen. 
statt.
ist eine unzerbrechliche Raum, und was ich einfügen möchte ist eine "zero width space" (en.wikipedia.org/wiki/Zero-width_space), so dass die Worte, die zu lang für die Zelle in der Tabelle in das PDF-Dokument wird geschnitten, um richtig füllen Sie die Zelle und vermeiden Sie die text-to go out of it... Was ich nicht verstehe, ist der Grund, warum die html-entity​
wird ersetzt durch "?" in meinem PDF-Dokument, trotz all meiner encoding-tests...Zero-width space (ZWSP) is a non-printing character used in computerized typesetting
- und Ihr versuchen, es zu drucken, richtig? 🙂 Versuchen Sie es mit 
statt. 
habe ich "w o r d" anstelle von "Wort" (das ist logisch, da 
ist eine Ebene Fläche). Vielen Dank für Ihre Zeit.Lösten dieses Problem, vor einigen Tagen : finden und verwendet "mpdf". Dieser ist genial 🙂
http://www.mpdf1.com/mpdf/index.php
Sollten Sie verwenden <wbr> statt ein zero width space in der langen Reihe, um Zeilenumbrüche innerhalb von Worten in html2pdf.