Rub*_*092 2 php pdf dompdf laravel
我正在使用DOMPDF和laravel 创建PDF 。
将使用特殊的打印机打印pdf,该打印机仅接受宽度为10CM和高度为20CM的文件。
我已经试过了:
$customPaper = array(0,0,720,1440);
$pdf = PDF::loadView('pdf.retourlabel',compact('retour','barcode'))->setPaper($customPaper);
Run Code Online (Sandbox Code Playgroud)
由于11X17是
"11x17" => array(0, 0, 792.00, 1224.00),
Run Code Online (Sandbox Code Playgroud)
我认为10X20为0,0720,1440
但这不起作用。
任何帮助表示赞赏。
提前致谢
在 PHP 中设置纸张大小需要知道点 (pt) 度量,点是原生 PDF 单位。PDF 分辨率(使用 Dompdf)为 72pt/inch。所以 10cm x 20cm 大致相当于 283 X 566(如您在回答中所述)。
1 inch = 72 point
1 inch = 2.54 cm
10 cm = 10/2.54*72 = 283.464566929
20 cm = 10/2.54*72 = 566.929133858
Run Code Online (Sandbox Code Playgroud)
landscape是意思相反。因此,我们可以将其设置为:array(0, 0, 566.929133858, 283.464566929 )与答案相同但更精确的值
但是,您可以通过在 CSS 中指定页面尺寸来允许 Dompdf 计算适当的磅值。这从 Dompdf 0.6.2 开始可用。
<html>
<head>
<style>
@page { size: 10cm 20cm landscape; }
</style>
</head>
<body>
...
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
琐事:PDF 规范没有提供指示纸张方向的方法(尽管有指示旋转的方法)。Dompdf 只是在指定横向时翻转宽度/高度。
我如何解决这个问题:
更改自定义纸张。
下载在Acrobat Reader中打开的PDF,将鼠标移到左上角,现在您可以看到文档的宽度和高度,我也相应地更改了自定义纸张。
最终结果是:10CM X 20CM =
$customPaper = array(0,0,567.00,283.80);
$pdf = PDF::loadView('pdf.retourlabel', compact('retour','barcode'))->setPaper($customPaper, 'landscape');
Run Code Online (Sandbox Code Playgroud)
非常circuit回的工作,但我确实完成了工作。
谢谢