开发者

Headache with this programming problem. (PHP, Tiff images and Duplex printers)

i'm just feeling that my head will explode unless someone help me with this problem:

I have stored a pair of TIFF images (related by a common key) for each one of almos 100.000 registries. And I create a PHP script that receives a key and echo the tiff image, so the browser return the tiff image:

<?php
    // Determine the primary key to relate with the image table
    $numero_registro = $_GET['numero_registro'];

    $imagen = $_GET['imagen'];

    if ($numero_registro != "")
    {
        $con = mysql_connect("localhost","XXXXX","XXXXXX");
        if (!$con)
          {
          die('Problems with db: ' . mysql_error());
          }

        mysql_select_db("XXXXX", $con);

        $result = mysql_query("SELECT img FROM image_table i WHERE i.fk_civil_registry_code = $numero_registro");

        $i = 1;
        while($row = mysql_fetch_array($result) )
        {
            if ( $imagen == $i ) 
            {
                #img is a long blob field
                $ext="tiff";
                header("Content-type: image/{$ext}");
                echo $row['img'];
            }
            $i++;
        }

        mysql_close($con);
    }

?>

This just works and the tiff image is displayed by the browser. But, this is a tiff image, so is displayed lonely (and viewed using alternaTiff). Until know this was no problem, cause I just needed to print a single image. But now my boss buy a big automatic duplex printer, and put it on his office, so I need a way to generate a pdf (of two pages) and put both images (echo $row['im开发者_Go百科g'];) each one on a single page, so they can print the PDF.

Can anyone help me to do that?

Thank you very much.


So you want to generate a 2-page PDF which consists of a tiff image on each page?

Perhaps the following links will be of interest:

http://www.fpdf.org/

http://kevin.vanzonneveld.net/techblog/article/php_tiff2pdf/

Then you can just flush the PDF to the browser.


Are you stuck with PHP? If you can work with ASP.NET, my company has a set of tools that will display and print TIFF images from AJAX controls as well as code that will generate self-printing PDF files. If you did the latter, you could keep your web work in PHP and hook up to a .NET service that takes N tiff files and generates a single printable PDF.

To give you a sense of what that would look like, the C# code to take two tiff images and convert to PDF would be:

FileSystemImageSource images = new FileSystemImageSource(pathToTiff1, pathToTiff2);
PdfEncoder encoder = new PdfEncoder();
encoder.CreateSelfPrintingPdf = true;
encoder.Save(outputStream, images, null);


Instead of a pdf document you could also use an html document with page-break-before css properties. e.g. try

<html>
  <head><title>...</title></head>
  <body>
    <div><img src="http://sstatic.net/so/img/logo.png" /></div>
    <div style="page-break-before:always;"><img src="http://sstatic.net/so/img/logo.png" /></div>
  </body>
</html>

and then go to the print preview in your browser.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜