обработка изображений в php и получение PDF обработанного изображения - PullRequest
0 голосов
/ 23 октября 2010

Я работаю над одним сценарием, в котором мне нужно создать одно изображение на основе заданного текста.

По сути, я должен разместить эти тексты в разных местах создаваемых изображений.

До этого моя работа выполнена. Ниже приведен код для этого.

header ("Content-type: image/jpeg");
$handle = imagecreate(415, 588) or die ("Cannot Create image");

$inven_tory=imagecreatefromjpeg($_SERVER['DOCUMENT_ROOT'].'/thumb/editor/text_letter.jpg');
imagecopymerge($handle,$inven_tory,0,0,0,0,415,588,100);

$bg_color = imagecolorallocate ($handle, 255, 255, 255); // 0 -255
$txt_color = imagecolorallocate ($handle, 0, 0, 0);


// The first parameter is our handle, then font size, rotation, starting X, starting Y, text color, font, and finally our text.
imagettftext($handle, 15, 0, 10, 25, $txt_color, "fonts/" . $font, wordwrap($text1, 35, "\n", true));

// The first parameter is our handle, then font size, rotation, starting X, starting Y, text color, font, and finally our text.
imagettftext($handle, 20, 0, 40, 120, $txt_color, "fonts/" . $font, wordwrap($text2, 13, "\n", true));

// The first parameter is our handle, then font size, rotation, starting X, starting Y, text color, font, and finally our text.
imagettftext($handle, 15, 0, 10, 500, $txt_color, "fonts/" . $font, wordwrap($text3, 40, "\n", true));

imagejpeg($handle);

Изображение создается правильно с этой страницы. Теперь я должен поместить это сгенерированное изображение в PDF и дать пользователю возможность сохранить этот PDF. Как я могу это сделать? Дайте мне знать, если вам не ясно.

Ответы [ 3 ]

0 голосов
/ 23 октября 2010

Если вы работаете на сервере Linux с установленным ImageMagick, вы можете сделать что-то вроде:

exec("convert foo.jpg bar.pdf");
0 голосов
/ 25 октября 2010

Как вы разместите свое изображение в PDF, зависит от того, как вы собираетесь создавать PDF. Существуют расширения и классы PHP, которые позволяют напрямую создавать PDF (CPDF, FPDF, TCPDF). Существуют также классы и программы, которые позволяют создавать PDF-документы из HTML-документов. Классы PDF дают вам более точное управление, классы HTML в PDF облегчают работу, так как большинство разработчиков PHP уже знают HTML в некоторой степени. Ваша ситуация достаточно проста, я был бы склонен использовать PDF-генерирующий класс.

Вы не указываете, как вы получаете значения $ text1, $ text2 и $ text3. Предположительно они предоставляются пользователем. Так что вам нужен промежуточный PHP, который собирает пользовательский ввод и создает ваш PDF. Затем вы ссылаетесь на свой генерирующий изображение PHP, используя полный URL. Будет работать что-то вроде следующего (используя EZPDF + CPDF):

<?php
include ('class.ezpdf.php');
$pdf = new Cezpdf();
$pdf->ezImage('http://example.com/image.php?text1='.urlencode($text1));
$pdf->ezStream();
?>

Обычно я работаю с DOMPDF, который преобразует HTML-документ в PDF-документ. То же самое с использованием этой библиотеки будет чем-то простым:

<?php
require_once('dompdf_config.inc.php');
$dompdf = new DOMPDF();
$dompdf->load_html('http://example.com/image.php?text1='.urlencode($text1));
$dompdf->render();
$dompdr->stream();
?>
0 голосов
/ 23 октября 2010

Я бы попробовал wkhtmltodpf с exec ().

...