问题描述
我正在使用itext5在Java中生成PDF。当我使用“ en” HyphenationAuto对象时,断字效果很好。 xml jar位于类路径上。在调试器中,对象为非空。
当我切换为使用“ qq”作为语言(废话代码)时,调试器中的断字对象为null,这与预期的一样,因为用于断字的xml jar没有名为qq.xml的文件。
但是当我使用法语连字符代替英语连字符时,根本无法连字符。
当我切换为使用“ fr”作为语言时,如预期的那样,调试器中的连字符对象为 non-null ,这表明至少它是从底层jar中读取xml文件。但是在输出的PDF中不会出现连字符。
这表明输入文本数据有问题,但是我看不到任何问题。文本数据中没有不间断空格。
更改我的JRE的默认语言环境无效。
当我在法语文本中使用'en'连字符时,在换行符处有连字符,但是应用了错误的规则(它显示了)。这表明法语文本没有根本问题。
itext的核心代码很简单:
<link href="https://cdn.jsdelivr.net/npm/bootstrap-grid-only@1.0.0/bootstrap.css" rel="stylesheet"/>
<header>
<a class="navbar-brand" href="#">expMirror</a>
<nav>
<ul class="linksList">
<li><a href="#">Artists</a></li>
<li><a href="#">Videos</a></li>
<li><a href="#">Music</a></li>
<li><a href="#">News</a></li>
<li><a href="#">Shop</a></li>
<li><a href="#">Subscribe</a></li>
</ul>
</nav>
<a href="#" class="cta"><button>Contact</button></a>
</header>
<div class="container">
<section id="artists">
<div class="container">
<div class="row d-flex flex-wrap align-items-center align-self-center">
<div class="col-xs-6 col-sm-7 col-md-6 col-lg-7">
<h1>Welcome</h1>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Earum voluptates perspiciatis quam harum temporibus labore dolorem ullam nulla cum praesentium? Itaque dolor ipsam aliquid maxime quis,expedita SAEpe optio harum?</p>
<p class="mt-3"><a href="#">See more...</a></p>
</div>
</div>
</div>
</section>
</div>