2015-06-08 2 views
2

я следующий HTML-код:DOMPDF перенос слов

<p><strong>Lorem Ipsum</strong> je fiktívny text, používaný pri návrhu tlačovín a typografie. Lorem Ipsum je štandardným výplňovým textom už od 16. storočia, keď neznámy tlačiar zobral sadzobnicu plnú tlačových znakov a pomiešal ich, aby tak vytvoril vzorkovú knihu. <em>Prežil nielen päť storočí</em>, ale aj skok do elektronickej sadzby, a pritom zostal v podstate nezmenený.</p> 

После обращенного в PDF выглядеть следующим образом: enter image description here

Я пытаюсь использовать перенос слов, а также это: dompdf does wrong calculation for line breaks breaking words, но не работает для меня.

В словацком языке не может быть «а» в конце строки. Мне нужно, чтобы это так:

"..tlačovín a typo- 
grafie..." 

или

"...tlačovín 
    a typografie..." 

такой же проблемой в прошлом, но один с "V"

также мы не можем использовать цифры и век отдельно

"16. 
storočia" 

Мне нужно, чтобы это было так:

už od 
16. storočia, ... (together) 

Эта проблема может быть решена в html, когда я печатаю 16.storočia без разделителя.

ответ

0

Puuhh dompdf снова - мы используем его на проекте drupal, и этот плагин заставил меня рассердиться несколько раз. CSS2, а не CSS3-поддержка, нет JS и багги, как черт!

Что вы можете сделать, это положить 16. storocia в 16. storocia - Это должно держать их вместе. К двум другим проблемам, которые у вас есть, попробуйте также обернуть их в промежуток.

Это не лучшее обходное решение, но я думаю, что при таких типографских проблемах вам всегда придется делать все это «тонкой настройкой» вручную.

Я надеюсь, что я мог бы помочь немного

0

DOMPDF не имеет правил языка разбора для других языков, кроме английского в это время (хотя исследования, как реализовать эти правила могли бы оказаться полезным в будущем). dompdf также не поддерживает перенос. Первоначальная поддержка будет внедрена позднее для английского и неанглийского языков.

Ваша конкретная проблема, однако, адресуется некоторыми улучшениями в HTML. Вы можете предотвратить разрыв строки, окружив набор символов с помощью элемента nobr. Я отлажен образец текст в следующем CSS/HTML:

@page { 
 
    size: letter portrait; 
 
} 
 

 
body { 
 
    font-family: DejaVu Sans, sans-serif; font-size: 125%; 
 
}
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
 
</head> 
 
<body> 
 
    <p><b>Incorrect wrapping</b></p> 
 
    <p><strong>Lorem Ipsum</strong> je fiktívny text, používaný pri návrhu tlačovín a typografie. Lorem Ipsum je štandardným výplňovým textom už od 16. storočia, keď neznámy tlačiar zobral sadzobnicu plnú tlačových znakov a pomiešal ich, aby tak vytvoril vzorkovú knihu. <em>Prežil nielen päť storočí</em>, ale aj skok do elektronickej sadzby, a pritom zostal v podstate nezmenený.</p> 
 
    <p><b>Correct wrapping</b></p> 
 
    <p><strong>Lorem Ipsum</strong> je fiktívny text, používaný pri návrhu tlačovín <nobr>a typografie</nobr>. Lorem Ipsum je štandardným výplňovým textom už od <nobr>16. storočia</nobr>, keď neznámy tlačiar zobral sadzobnicu plnú tlačových znakov a pomiešal ich, aby tak vytvoril vzorkovú knihu. <em>Prežil nielen päť storočí</em>, ale aj skok do elektronickej sadzby, <nobr>a pritom</nobr> zostal <nobr>v podstate</nobr> nezmenený.</p> 
 
</body> 
 
</html>

(я сделал все возможное, чтобы размечать текст, чтобы обернуть правильно основанный на ваш вопрос, но у меня нет знаний всех языковых правил.)

Смежные вопросы