Вставьте текст в PDF с PHP, но без Zend Framework - PullRequest
1 голос
/ 21 ноября 2011

В настоящее время я использую этот код для вставки текста в PDF:

$pdf = Zend_Pdf::load("test_document.pdf");
$font = Zend_Pdf_Font::fontWithPath('arial_unicode_ms.ttf');
foreach ($pdf->pages as &$page) {
   $page->setFont($font, 12);
   $page->drawText("Inserted some text.", 200, 10);
}

Проблема в том, что я хочу включить эту функцию в плагин Joomla и не хочу включать все данные из Zend Framework в мой проект.

Есть ли какой-нибудь простой способ или какая-нибудь небольшая библиотека, которая предоставляет этот механизм тегов pdf?

Ответы [ 3 ]

3 голосов
/ 21 ноября 2011

Если вы все еще хотите использовать Zend_Pdf, вам, вероятно, нужно взглянуть на зависимости в каталоге Zend/Pdf.Вы можете grep для require_once, чтобы иметь грубое представление и отфильтровать результаты Zend/Pdf:

grep -r require_once Pdf.php Pdf | grep -v "Zend/Pdf"

Первый шаг выдает Zend_Memory, Zend_Exception и Zend_Log.

Вы можете использовать аналогичный метод для проверки дополнительных зависимостей, и вы увидите, что для Zend_Memory требуется Zend_Cache, для которого требуется только Zend_Log, который является автономным, как Zend_Exception.Я думаю, вам не нужно будет идти намного дальше, если вы включите эти четыре дополнительные библиотеки.

EDIT : я нашел эту ссылку, в которой перечислены все зависимости между модулями ZF (нехотя я не знаю, насколько оно актуально): http://files.zend.com/help/Zend-Framework/requirements.dependencies.html

Надеюсь, это поможет,

2 голосов
/ 21 ноября 2011

Доступны и другие библиотеки PDF. Я использовал tcpdf вместо Zend_Pdf иногда. Он полностью автономен, поэтому у вас не будет проблем с зависимостью.

В ответ на ваш комментарий

Я начал использовать TCPDF, так как Zend_Pdf был неполным, и мне нужно было решение, которое позволило бы мне использовать существующие pdf в качестве базовых документов, как вам кажется. Решение, которое я в итоге выбрал, состояло в том, чтобы использовать FPDI в сочетании с TCPDF.

Я некоторое время не работал над этим проектом, но я использовал веб-сайт FPDI как начало решения, которое в конечном итоге мне помогло.

Я не уверен, что это тоже будет решением для вас, но стоит взглянуть.

1 голос
/ 21 ноября 2011

Нет необходимости включать всю Zend Framework в ваш проект, вам нужно только включить Zend / Pdf.php и папку Zend / Pdf.Это не так много (объединенный размер ~ 1,2 МБ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...