В этом примере на веб-сайте tcpdf показано, как использовать форматы страниц, такие как A4, A5 и т.д., но как установить tcpdf для использования пользовательских размеров, например, 175 мм х 266 мм?
Решения были оценены.
В этом примере на веб-сайте tcpdf показано, как использовать форматы страниц, такие как A4, A5 и т.д., но как установить tcpdf для использования пользовательских размеров, например, 175 мм х 266 мм?
Решения были оценены.
РЕДАКТИРОВАТЬ: Я просто ошибся: вы можете указать массив ($ width, $height) в параметре.
Я создал подкласс tcpdf, где я модифицировал несколько вещей: getPageSizeFromFormat(); Вот код: http://paste.pocoo.org/show/294958/.
Затем я вызываю свой собственный класс, добавляю новый формат и устанавливаю новый формат:
$pdf = new CUSTOMPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
//Add a custom size
$width = 175;
$height = 266;
$orientation = ($height>$width) ? 'P' : 'L';
$pdf->addFormat("custom", $width, $height);
$pdf->reFormat("custom", $orientation);
Нет необходимости в редактировании класса... tcpdf не принимает параметр width/length, он просто принимает две длины и определяет, какой из них использует макет (портрет или пейзаж)
$pageLayout = array($width, $height); // or array($height, $width)
$pdf = new TCPDF('p', 'pt', $pageLayout, true, 'UTF-8', false);
В новой версии TCPDF вы можете определить размер страницы несколькими способами. Все стандартные форматы страниц уже определены (более 300 типов). Вы можете просто определить размер страницы, указав массив с двумя числами: ширина, высота (независимо от ориентации страницы). В качестве альтернативы вы можете определить дополнительные детали страницы (MediaBox, Cropbox, BleedBox, TrimBox, ArtBox), как описано в документации по методу setPageFormat(), в http://www.tcpdf.org Проверьте также примеры по умолчанию n. 28 и 60 на http://www.tcpdf.org
Перейдите в /config/tcpdf _config.php и около строки 117, измените строку:
define ('PDF_PAGE_FORMAT', 'A4');
по
define ('PDF_PAGE_FORMAT', 'LETTER');
Важно вставить "LETTER" в верхнем регистре, вы можете увидеть все возможные значения в этом файле: tcpdf/include/tcpdf_static.php
.
Правда, теперь вы можете решить это так.
//AddPage [P (ПОРТРЕТ), L (ЛАНДШАФТ)], ФОРМАТ (A4-A5-ETC)
$pdf- > AddPage ( 'Р', 'А5');
Источник: https://tcpdf.org/examples/example_028/
Измените tcpdf.php и добавьте новый тип страницы или измените существующий тип на размер вашей страницы.
Приведенный выше ответ не будет работать для меня, поэтому я добавлю свое решение здесь - от http://www.tcpdf.org/examples/example_060.phps, измените urx, ury для вашего цель
// set page format (read source code documentation for further information)
// MediaBox - width = urx - llx 210 (mm), height = ury - lly = 297 (mm) this is A4
$page_format = array(
'MediaBox' => array ('llx' => 0, 'lly' => 0, 'urx' => 210, 'ury' => 297),
//'CropBox' => array ('llx' => 0, 'lly' => 0, 'urx' => 210, 'ury' => 297),
//'BleedBox' => array ('llx' => 5, 'lly' => 5, 'urx' => 205, 'ury' => 292),
//'TrimBox' => array ('llx' => 10, 'lly' => 10, 'urx' => 200, 'ury' => 287),
//'ArtBox' => array ('llx' => 15, 'lly' => 15, 'urx' => 195, 'ury' => 282),
'Dur' => 3,
'trans' => array(
'D' => 1.5,
'S' => 'Split',
'Dm' => 'V',
'M' => 'O'
),
'Rotate' => 90,
'PZ' => 1,
);
// Check the example n. 29 for viewer preferences
// add first page ---
$pdf->AddPage('P', $page_format, false, false);