$html = <<<EOD
你好<span style="background-color:#E53333;">你好你好你好你好你好你好你好你好你好你好</span>你好
你好<span style="background-color:#E53333;">你好你好你好你好你好你好你好你好你好你好</span>你好你好你好你好你好你好你好你 好你好
EOD;
生成PDF效果展示

$html = <<<EOD
你好<span style="background-color:#E53333;">你好你好你好你好你好你好你好你好你好你好</span>你好
你好<span style="background-color:#E53333;">你好你好你好你好你好你好你好你好你好你好</span>你好你好你好你好你好你好你好你 好你好
EOD;
生成PDF效果展示

参考GPT
在使用 TCPDF 生成 PDF 时,自动换行问题通常与 HTML 的 CSS 样式有关。从您提供的 HTML 代码来看,<span> 元素被应用了 background-color 样式,但没有指定 white-space 属性,这可能导致文本在 span 内不会自动换行。
为了解决这个问题,您可以为 <span> 元素添加 white-space: pre-line; 样式,这样 TCPDF 在生成 PDF 时会自动识别换行符。以下是修改后的 HTML:
$html = <<<EOD
你好<span style="background-color:#E53333; white-space: pre-line;">你好你好你好你好你好你好你好你好你好你好你好</span>你好
你好<span style="background-color:#E53333; white-space: pre-line;">你好你好你好你好你好你好你好你好你好你好</span>你好你好你好你好你好你好你好你 好你好
EOD;
这个样式告诉浏览器(在 HTML 中)和 TCPDF(在 PDF 中)将空白符(包括空格和换行符)视为段落分隔符,并在适当的位置进行换行。
此外,您还提到了 <br> 标签,它是一个换行元素,通常用于在 HTML 中强制换行。在 TCPDF 中,<br> 标签也会被识别并按预期工作。
如果上述方法仍然不能解决问题,请确保在生成 PDF 时没有其他 CSS 样式影响了文本的布局。您可以检查 TCPDF 的生成代码,确保它正确地将 HTML 转换为 PDF,并且没有忽略换行符或强制合并文本。
如果您需要更详细的帮助,请提供完整的 HTML 代码和 TCPDF 的配置信息。