简体   繁体   English

DOMPDF换行

[英]DOMPDF word-wrap

I have following html code: 我有以下html代码:

<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>

After convert to pdf look this: 转换为pdf后,请看以下内容: 在此处输入图片说明

I try use word-wrap and also this: dompdf does wrong calculation for line breaks breaking words but not working for me. 我尝试使用自动换行,并且这样做: dompdf对换行符的错误计算会打断单词,但对我不起作用。

In slovak language can not be "a" in the end of line. 在斯洛伐克语中不能以“ a”结尾。 I need to have it like this: 我需要像这样:

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

or 要么

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

same problem in last but one with "v" 最后一个相同的问题,但一个带有“ v”

also we cant use numbers and century separately 我们也不能分别使用数字和世纪

"16.
storočia"

i need to have it like this: 我需要像这样:

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

This problem can solve in html when i type 16.storočia without spacer. 当我键入不带间隔符的16.storočia时,此问题可以在html中解决。

Puuhh dompdf again - we use it on a drupal-project and this plugin made me angry several times. Puuhh dompdf再次-我们在drupal-project上使用它,这个插件让我生气了好几次。 CSS2 and not CSS3-Support, no JS and buggy as hell!! CSS2,而不是CSS3-Support,没有JS和越野车!

What you can do is putting the 16. storocia in a 16. storocia - This should keep them together. 您可以做的是将16. storocia放入16. storocia-这应该将它们保持在一起。 To the two other issues you have, try to wrap them in a span too. 对于您遇到的其他两个问题,也请尝试将它们包裹在一个范围内。

It's not the best workaround but i think with typographic problems like these you'll always have to do all this "fine-tuning" by hand. 这不是最好的解决方法,但我认为,面对此类印刷问题,您总是必须手动进行所有这些“微调”。

I hope i could help a little 我希望我能有所帮助

dompdf does not have language parsing rules for languages other than English at this time (though investigating how to implement those rules might be worthwhile in the future). dompdf目前没有针对英语以外的语言的语言解析规则(尽管将来可能需要研究如何实现这些规则)。 dompdf also does not yet support hyphenation. dompdf还不支持连字符。 Initial support would be implemented for English first and non-English languages later. 最初的支持将首先支持英语,随后将支持非英语。

Your particular problem, however, is addressable with some tweaks to the HTML. 但是,通过对HTML进行一些调整可以解决您的特定问题。 You can prevent a line break by surrounding a set of characters with the nobr element. 您可以通过使用nobr元素包围一组字符来防止换行。 I tweaked your sample text in the following CSS/HTML: 我在以下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> 

(I did my best to mark up the text to wrap correctly based on your question, but I don't have knowledge of all the language rules.) (我尽力根据您的问题标记文本以正确包装,但是我不了解所有语言规则。)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM