PHP mPDF QR-Code 带有 LF 和 CR 等特殊字符

PHP mPDF QR-Code with special characters like LF and CR

我们必须实施一个名为 "Zahlen mit Code"(德语为 "pay by code")的系统,这是一种使用智能手机和 QR 码启动信用转账的方便、快速且无损的方式。

作为 mpdf(由基于 php 的发票系统使用“invoiceplane" for exports) can manage the QR-Code generation with flying colors we desperately seek for a solution to our problem: The creation of QR-Codes that contain special characters like Lf and Cr. (We need them to meet the requirements: "Elements are separated with line endings, where both variants Lf and CrLf are permitted.", Reference [it's worth reading]: https://www.stuzza.at/de/download/qr-code/339-qr-code-und-bcd-definition-2-en/file.html,第 5 页)

要在我们的 UTF-8 编码 HTML 中创建二维码,我们使用如下代码片段:

<barcode code="Two\rlines" size="0.8" type="QR" error="M" class="barcode" />

不幸的是,在 QR 码文本中使用“\r”并不能解决问题(没有实际的回车 return,只有使用过的字符 - 例如“\r”出现在细绳)。我们尝试了几种变体,例如 \n&#13; [HTML 十进制], &#xd; [HTML 十六进制]; 0x0D (UTF8 hex) 等等。我们的猜测是它被一些清理代码转义了,或者我们只是以错误的方式转义了它(或者只是使用了错误的 special/control 字符)。

这仅适用于版本 7.0 之后的 mPDF。条形码 code 参数中的 \r\n\n 字符被视为实际换行符。