服务器端字体大小调整

Server side font resizing

我有这个 PHP 文件,可以 'create' 通过 $_GET 传递自定义名称的课程证书。
目标是将文件输出为任何可打印格式,并将所有证书下载到一个 (.zip) 文件中。

问题是名称的宽度是动态的,名称必须匹配 div 宽度。

这是示例代码:

<html>
    <head>
    </head>
    <body style="background-image: image; background-image-size: 100% 100%; width: 1200px; height: 1200px;">
       <div class="name_1" style="width: 250px; height: 80px; margin-top: 400px; margin-left: 500px;">
            <p><?php echo $_GET['name_1']; ?></p>
       </div>
       <div class="name_2" style="width: 250px; height: 80px; margin-top: 900px; margin-left: 500px;">
            <p><?php echo $_GET['name_2']; ?></p>
        </div>
    </body>

我已经实现了动态调整文本大小以适应 jQuery 宽度 jQuery。

最大的问题是我需要逐页加载 100 多页才能获得此动态文本调整大小...

请问有什么方法可以调整所有页面名称的大小并一键下载所有页面吗?

FPDF and its derivatives have GetStringWidth() method. If you use the right font, you can get it from this method. A font must be selected using SetFont() before calling this method. There is a set of standard fonts included (Arial, Times, Courier, Symbol and ZapfDingbats), if yours is not one of them, you have to add it: http://www.fpdf.org/en/tutorial/tuto7.htm

$string = "This is a text";
$fpdf = new FPDF();
$pdf->SetFont('Arial','B',16);
echo $fpdf->GetStringWidth($string);

使用 wkhtmltopdf framework, documentation here 获取页面截图。它将在页面加载时执行脚本,您甚至可以使用参数来延长脚本执行时间。

--javascript-delay (default to 200ms)

你有一个 PHP interface,但你可以这样简单地使用 PHP exec

exec("wkhtmltopdf test.html output.pdf")

要创建 ZIP 库,您可以找到 examples here