Zend Framework PDF Изменение размера страницы (масштабирование)/поворот (страница не является элементом)

есть ли возможность изменить размер объекта Zend_Pdf_Page с (например) DIN-A4 на DIN-A6 (или любого другого размера)?

я хотел бы объединить 4 файла PDF (1 страница) в 1 файл PDF (1 страница). в каждом крае должен быть один из 4 файлов pdf.

позиционирование, сетка, например. это не проблема ... но как я могу изменить размер документа (существующего файла PDF) и как я могу повернуть весь документ?

я работаю с ZF1, но если единственный способ решить эту проблему использовать внешнюю библиотеку - нет проблем.

PS: извините за мой плохой английский (надеюсь, этого достаточно, чтобы понять мою проблему)


редактировать : 14:49 12.05.2014

также пытался с помощью imagick преобразовать pdf в изображение, но качество слишком плохое для печати, как эти маленькие пальцы ... :-(


person NathanielR    schedule 12.05.2014    source источник


Ответы (2)


Технически ваши требования могут быть выполнены путем преобразования страницы в так называемую форму XObject, которую можно разместить на новой созданной странице. Вот как работает FPDI: http://www.setasign.com/products/fpdi/demos/thumbnails/ (может быть альтернативой для вас).

Я только что проверил код ZendPdf, но не могу найти ни одного метода, позволяющего это сделать.

Ротация также может быть выполнена с помощью FPDF/FPDI: http://fpdf.org/en/script/script2.php

person Jan Slabon    schedule 13.05.2014

В вашем коде, если у вас есть что-то вроде $page = new Zend_Pdf_Page();, вы можете установить здесь нужные размеры.

Например, для формата А6 можно написать $page = new Zend_Pdf_Page('297:420'); (если не ошибаюсь).

Чтобы представить страницу A4 в альбомной (широкой) ориентации, вы можете написать
$page = new Zend_Pdf_Page('a4-landscape');
или
$page = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4_LANDSCAPE);

Вы можете ознакомиться с документацией или исходный код конструктора класса Zend_Pdf_Page для получения дополнительной информации.

Я надеюсь, что это поможет вам. :)

person doydoy44    schedule 12.05.2014
comment
эй doydoy44, моя проблема состоит в том, чтобы изменить размер документа а4 на а6. Думаю, вы имеете в виду создать новый вместо изменения размера существующего документа. - person NathanielR; 12.05.2014
comment
@NathanielR: В исходнике я не видел способа изменить размер страницы (но, возможно, у кого-то еще есть решение :)). Мне сказали, что для слияния можно использовать метод клонирования, вызывающий новый Zend_Pdf_Page(). :) - person doydoy44; 12.05.2014
comment
да блин... я тоже так думаю... часами искал в гугле. это настоящая чертова проблема... но я не могу представить, что ни у кого нет решения этой проблемы... :) я не сдаюсь. - person NathanielR; 12.05.2014