我有这个PHP文件可以“创建”自定义名称通过$_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的div
宽度。
最大的问题是我需要逐页加载100多页才能让这个动态文本重新调整大小......
那么,有没有办法重新调整所有页面名称的大小并一键下载所有页面名称?
答案 0 :(得分:1)
使用wkhtmltopdf框架,文档here抓取页面屏幕截图。它将在页面加载时执行脚本,你甚至可以使用参数来延长脚本执行的时间。
--javascript-delay (default to 200ms)
你有一个PHP interface,但你可以这样简单地使用PHP exec
:
exec("wkhtmltopdf test.html output.pdf")
要创建ZIP库,您可以找到examples here。
答案 1 :(得分:0)
FPDF及其派生词有GetStringWidth()
方法。如果使用正确的字体,则可以通过此方法获取。在调用此方法之前,必须使用SetFont()
选择字体。包含一组标准字体(Arial,Times,Courier,Symbol和ZapfDingbats),如果你的不是其中之一,你必须添加它: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);