2012-01-12 5 views
5

Есть ли способ установить ширину и высоту сгенерированного PDF-файла? Я хочу настроить ширину и высоту PDF. Обычно это было бы размером с короткую бумагу для бумаг, но как я могу ее настроить? скажем, например, я хочу, чтобы размер был 200 х 500 пикселей?Индивидуальная ширина и высота в DOMPDF

Любая идея была бы очень оценена! ура!

+0

в DOMPDF очень медленно, я бы посоветовал вам попробовать лучше и гораздо быстрее альтернативы, как [wkhtmltopdf] (https://code.google.com/p/wkhtmltopdf/) – greut

+0

в текущей системе, которую мы разрабатываем, мы используем DOMPDF, поэтому мне нужно вписаться. спасибо за предложение, хотя плохо помните об этом – unknown

ответ

2

DOMPDF обрабатывает размер бумаги по конфигурации.

define ("DOMPDF_DEFAULT_PAPER_SIZE", "letter"); 

Вы можете REFERRER всех доступных размеров там:

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

+0

Что делать, если я хочу настроить это размер? У меня есть путь? – unknown

+4

Просто добавьте его в список: 'CPDF_Adapter :: $ PAPER_SIZES ['mysize'] = array (0, 0, ..., ...);' – greut

+0

спасибо, что попробовал этот – unknown

6

Вы можете установить свой собственный формат, без необходимости изменения кода DOMPDF, передав массив, когда вы звоните DOMPDF: : set_paper(). Убедитесь, что он содержит ширину и высоту в точках, как это:

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

+0

Знаете ли вы, что первые 2 значения в массиве? – Sean256

+0

Я не уверен, почему они сделали это таким образом, но 4 значения вместе используются для расчета ширины и высоты. Нравится это: '$ width = $ size [2] - $ size [0]' и '$ height = $ size [3] - $ size [1]'. Таким образом, проще всего дать первые 2 значения равным 0. Это также способ, которым они сделали это со всеми предопределенными форматами страниц. – Michiel

+1

Это общий формат при рисовании прямоугольника: '[x1, y1, x2, y2]'. Как сказал Михель, вы должны сохранить первые два значения равными нулю: '0,0' –