Последние 2 дня я искал ответы на вопрос о том, как использовать zend_pdf как автономный. Все, что я нашел в google, относится к pdf.php, который я не могу найти нигде.
Я нашел zend_pdf здесь ( https://github.com/zendframework/ZendPdf )
Я не хочу устанавливать всю структуру на сервере, и я не хочу, чтобы люди говорили мне использовать fpdf или tcpdf или что-то еще. zend_pdf кажется идеальным решением. Я просто хочу знать, как использовать его asstandalon.
Любые четкие инструкции?
спасибо
Начнем с того, что стоит упомянуть, что версия ZendPdf
которую вы ссылаетесь, является версией, которая первоначально была включена в ZF2, но в 2011 году была исключена из фреймворка. В качестве примечания я говорил с Мэтью Вейером O ' Phinney (руководитель проекта 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' );
Это не готовый к производству код по какой-либо части воображения. Вам понадобится более надежный автозагрузчик для стартеров.
Во всяком случае, я надеюсь, что это решает вашу непосредственную проблему и / или поможет вам на правильном пути. Удачи!