Где взять и как использовать Zend_pdf автономно

Последние два дня я потратил на поиски ответов о том, как использовать zend_pdf в качестве автономного приложения. Все, что я нашел в Google, относится к pdf.php, который я нигде не могу найти.

Я нашел zend_pdf здесь ( https://github.com/zendframework/ZendPdf)

Я не хочу устанавливать весь фреймворк на сервер и не хочу, чтобы люди говорили мне использовать fpdf, tcpdf или что-то еще. Zend_pdf кажется идеальным решением. Я просто хочу знать, как использовать это asstandalon.

Есть четкие инструкции?

Спасибо

1 ответ

Решение

Для начала стоит отметить, что версия ZendPdf Вы имеете в виду версию, которая изначально была включена в ZF2, но была исключена из фреймворка в 2011 году. Как примечание, я говорил об этом с Мэтью Вейером О'Финни (руководителем проекта ZF2) на ZendCon 2012, и он сказал, что если кто-то захочет поднять руку, чтобы поддержать этот класс, мы можем вернуть его обратно в среду ZF2.

Версия ZF2, о которой мы здесь говорим, хотя семантически идентична версии ZF1, синтаксически отличается из-за того, что разработчики ZF2 выполнили преобразование в пространства имен и некоторый другой рефакторинг, прежде чем решили отделить его от основного проекта., Большинство (может быть, даже все?) Из ZendPdf примеры для Zend_Pdf от ZF1, и они не будут работать с этой версией, если вы не разберетесь с автозагрузкой и другими синтаксическими различиями.

До сегодняшнего дня я не пользовался этой автономной версией и обнаружил, что она НЕ РЕНДУРУЕТ результирующий PDF-документ, если только вы не включили одну папку исходного кода из инфраструктуры ZF2. Чтобы запустить приведенный ниже пример кода, вам необходимо получить копию платформы ZF2 и скопировать Zend/Memory папка в library папка, которая была создана при загрузке ZendPdf из Github.

Как только вы это сделаете, следующий автономный код PHP позволит вам использовать ZendPdf чтобы создать файл PDF:

<?php
function simpleBootLoader( $stack )
{
    require_once './library/' . 
                 str_replace( '\\', DIRECTORY_SEPARATOR, $stack ) .
                 '.php';
}

spl_autoload_register( 'simpleBootLoader' );

use ZendPdf\PdfDocument;
use ZendPdf\Page;
use ZendPdf\Font;

$pdf = new PdfDocument();

$pdf->pages[0] = new Page( Page::SIZE_A4 );
$pdf->pages[0]->setFont( Font::fontWithName( Font::FONT_HELVETICA ), 24 );
$pdf->pages[0]->drawText( 'Hello world!', 240, 400 );

$pdf->save( 'example.pdf' );

Это не готовый к работе код, какой бы то ни было фантазии. Вам понадобится более надежный автозагрузчик для начинающих.

В любом случае, я надеюсь, что это решит вашу непосредственную проблему и / или выведет вас на правильный путь. Удачи!

Другие вопросы по тегам