mpdf 水印 - 倾斜到垂直

mpdf watermark - inclined to vertical

我正在使用 mpdf 在我的项目中生成报告。在报告中,我必须放置水印。我已经使用一些代码放置了它。但是我把水印对齐为 45 度(确实知道倾斜的程度)。我希望它垂直对齐(90 度)。

$mpdf->SetWatermarkText('DUMMY');
$mpdf->watermark_font = 'DejaVuSansCondensed';
$mpdf->showWatermarkText = true;
$mpdf->watermarkTextAlpha = 0.15;

上面的代码是我用的

有人知道怎么让它垂直吗?

从 mPDF 版本 7.0 开始,这可以通过 watermarkAngle 配置变量来实现。您可以在构造函数中设置它

$mpdf = new \Mpdf\Mpdf(['watermarkAngle' => 33]);

或者您可以将其设置为实例属性:

$mpdf = new \Mpdf\Mpdf();
$mpdf->watermarkAngle = 33;

直到版本 6.1.* 这只能通过更改 mPDF 源代码来实现。在 mpdf.php 中的 15724 行(版本 6.1.3)的某处找到行

$this->watermark($this->watermarkText, 45, 120, $this->watermarkTextAlpha);

并将45更改为您想要的任何角度。

现在我不得不使用 mpdf 5.7.4,因为它以正确的方式显示 select 框 - 请在此处查看问题: generating PDF with <SELECT> form field from HTML displays always multiline dropdown ...和这里的演示: https://osuch.com/formtools/exp/mpdfexp/project_mpdf/pdfb04_basic_active_form.php

虽然 Finwe 的解决方案有效,但我认为每次我想要不同的角度时总是在核心处摸索类 并不是一个好方法。在我的研究中,我发现函数 watermark 已经提供了传递给它的可选参数。比如说你想要水印文本倾斜 20 度,就这样称呼它:

$mpdf->watermark("your watermark text", 20);

这样就不用去锤炼核心了类。 我的解决方案还解决了 Ironic 的问题 通过传递字体大小,

$mpdf->watermark("your watermark text", 20, 10, 0.2);

其中 20 是您的角度,10 是您的字体大小,0.2 是您的不透明度。 我认为这应该也适用于存在水印功能的其他 mpdf 版本。