Размещение PDF внутри другого PDF документа с Zend_PDF - PullRequest
2 голосов
/ 15 сентября 2008

У меня есть pdf-файл логотипа размером примерно 1 "x2". Кто-нибудь может предоставить фрагмент кода для импорта этого логотипа PDF в другой файл PDF с помощью API Zend_PDF ?

В идеале я хотел бы иметь возможность размещать его как объекты PNG, TIFF или JPG с объектом Zend_Pdf_Image.

Другими словами, я хочу иметь возможность размещать небольшой документ формата 1x2 "в формате PDF поверх страницы 8,5x11", а не использовать исходный файл PDF в качестве фона.

Спасибо!

Ответы [ 3 ]

2 голосов
/ 16 сентября 2008

Похоже, что на эту дату нет способа сделать это с помощью API Zend_PDF. Класс Zend_Pdf_Page имеет drawContentStream (), который выглядел многообещающе, но когда я зарегистрировался, тело метода было пустым. Возможно, более поздняя версия API будет поддерживать его.

Итак, если вы хотите поместить другой PDF-файл в другой динамически сгенерированный PDF-документ, такой как изображение, используйте FPDI + FPDF / TCPDF .

$pdf = & new FPDI ('P', 'in', 'Letter' );
$pagecount = $pdf->setSourceFile ( APP . 'logo.pdf' );
$tplidx = $pdf->importPage ( 1, '/MediaBox' );

$pdf->addPage ();
$pdf->useTemplate ( $tplidx, 1, 1 );
$pdf->Output ( 'output.pdf', 'F' );
1 голос
/ 15 сентября 2008

Я полагаю, что вы можете клонировать страницу - как шаблон. Не уверен, что этого достаточно для вас, это выглядит как предпочтительный способ сделать что-то. Конечно, если у вас есть PDF-файл, к которому вы хотите добавить, скажем, водяной знак, этого, э-э, явно недостаточно, но в этом случае, вероятно, будет достаточно png высокого разрешения.

0 голосов
/ 13 октября 2008

Не то, что вы просили, а, вероятно, то, что вам нужно (:

Преобразуйте PDF-файл меньшего размера в формат TIFF / PNG / WhatEver (например, с помощью imagemagick's convert или GIMP) Затем поместите это изображение в обычный Zend API.

Это преобразование также может быть выполнено на лету с использованием php-класса Imagick.

...