2012-01-12 173 views
5

是否有我可以设置生成的PDF的宽度和高度?我想定制PDF的宽度和高度。通常情况下,它的尺寸会很小,但我怎么定制它?比方说,例如我希望它的大小是200 x 500像素?DOMPDF中定制的宽度和高度

任何想法将非常感激!干杯!

+0

作为DOMPDF是很慢的,我建议你尝试像[wkhtmltopdf(HTTPS更好,更快的替代方法:/ /code.google.com/p/wkhtmltopdf/) – greut 2012-01-12 12:53:12

+0

在我们正在开发的当前系统上,我们正在使用DOMPDF,所以我必须适应。感谢您的建议,尽管生病请牢记这一个 – unknown 2012-01-12 12:57:05

回答

2

DOMPDF通过配置处理纸张大小。

define ("DOMPDF_DEFAULT_PAPER_SIZE", "letter"); 

你可以参阅所有可用的尺寸有:

https://github.com/dompdf/dompdf/blob/2eaf8fe0f1c95ab76e7a428a39a54dd240e2b2ec/src/Adapter/CPDF.php#L40

+0

如果我想定制它的大小?我有一种方式? – unknown 2012-01-12 12:53:52

+4

只需将它添加到列表中:'CPDF_Adapter :: $ PAPER_SIZES ['mysize'] = array(0,0,...,...);' – greut 2012-01-12 12:55:27

+0

谢谢生病尝试这一个 – unknown 2012-01-12 13:02:51

6

您可以设置自己的格式,而无需更改代码DOMPDF,通过传递,当你调用DOMPDF的数组: :set_paper()。请确保它包含了宽度和点的高程,是这样的:

$dompdf->set_paper(array(0, 0, 595, 841), 'portrait');

+0

你知道阵列中的前2个值是什么吗? – Sean256 2016-03-06 22:15:56

+0

我不确定他们为什么这样做,但是4个值一起用来计算宽度和高度。 像这样:'$ width = $ size [2] - $ size [0]'和'$ height = $ size [3] - $ size [1]'。所以最简单的做法是让前两个值为0.这也是他们使用所有预定义页面格式完成的方式。 – Michiel 2016-03-08 07:56:55

+1

绘制矩形时,这是一种常见的格式:'[x1,y1,x2,y2]'。正如Michiel所说,你应该将前两个值保持为零:'0,0' – 2016-10-07 05:11:06