2017-11-01 17 views
0

MySQLから画像BLOBを取得し、PDFlibでPDFに貼り付けたいと思います。 ブロブをPDFlibの通常のイメージとして使用できるように変換するにはどうすればよいですか?MySQLからの画像BLOBをPDFlib(PHP)でPDFにロード

これは私が現時点でそれをやろうとしている方法です。私はそのコードでエラーが発生しますので、どういうわけか、イメージがimagecreatefromstringで正しく作成されていません

$img = imagecreatefromstring($qra['photo']); //$qra['photo'] is the mysql blob field 

// Loading the image with PDFlib (this code is already tested with a normal image src like /images/example.jpg and works) 
$image = $p->load_image("auto", $img, ""); 
$p->fit_image($image, 10, 10, "boxsize={50 50} position=center fitmethod=meet"); 

blobイメージを適切に取得して使用できるようにするには(tmpイメージとしても機能するので、サーバー上に保存します)

+0

「imagecreatefromstring」から得られるエラーは何ですか? – alistaircol

答えて

1

これは、より簡単です。私はあなたのイメージがデータベースに格納されているバイト配列であると期待しています。 BLOBフィールドを文字列として取得し、PVF(PDFlib Virtual Filesystem)を使用するだけで簡単にできます。 この手法では、変数に名前を指定します。この名前は、その後load_image()呼び出しで使用できます。

これはPDFlibのCoobkookにおいてもPDFlibのPHPパッケージに含まれているstarter_pvf.php試料、で実証されている:ちょうどディスクから画像データを読み取るが、これは類似していなければならない http://www.pdflib.com/pdflib-cookbook/general-programming/starter-pvf/php-starter-pvf/

サンプルデータベースから取得する方法

# We just read some image data from a file; to really benefit 
# from using PVF read the data from a Web site or a database instead 

$imagedata = read_file("../input/PDFlib-logo.tif"); 
$p->create_pvf("/pvf/image", $imagedata, ""); 

# Load the image from the PVF 
$image = $p->load_image("auto", "/pvf/image", ""); 
1

私はこのような何かがあなたのために働くだろうと思う:

<?php 

$img = imagecreatefromstring($qra['photo']); //$qra['photo'] is the mysql blob field 

ob_start(); // capture the image from the blob 
imagepng($img); // Output a PNG image to either the browser or a file 
$img = ob_get_clean(); // Get current buffer contents and delete current output buffer 

// img should now be png resource 

// Loading the image with PDFlib (this code is already tested with a normal image src like /images/example.jpg and works) 
$image = $p->load_image("auto", $img, ""); 
$p->fit_image($image, 10, 10, "boxsize={50 50} position=center fitmethod=meet"); 
関連する問題