Головная боль с этой проблемой программирования. (PHP, Tiff-изображения и дуплексные принтеры) - PullRequest
0 голосов
/ 16 января 2010

Я просто чувствую, что моя голова взорвется, если кто-то не поможет мне с этой проблемой:

Я сохранил пару изображений TIFF (связанных общим ключом) для каждого из 100 000 регистров almos. И я создаю PHP-скрипт, который получает ключ и выводит изображение tiff, поэтому браузер возвращает изображение tiff:

<?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);
    }

?>

Это просто работает, и изображение tiff отображается браузером. Но это изображение tiff, поэтому отображается одиноко (и просматривается с использованием alternaTiff). Пока я не узнал, что это не проблема, мне просто нужно было напечатать одно изображение. Но теперь мой начальник купил большой автоматический дуплексный принтер и поместил его в своем офисе, поэтому мне нужен способ сгенерировать PDF (из двух страниц) и поместить оба изображения (echo $ row ['img'];) каждое одну страницу, чтобы они могли распечатать PDF.

Может ли кто-нибудь помочь мне сделать это?

Большое спасибо.

Ответы [ 3 ]

1 голос
/ 20 января 2010

Вы застряли с PHP? Если вы можете работать с ASP.NET, моя компания имеет набор инструментов, которые будут отображать и печатать изображения TIFF из элементов управления AJAX, а также код, который будет генерировать самопечатающиеся файлы PDF. Если бы вы сделали последнее, вы могли бы сохранить свою веб-работу на PHP и подключиться к службе .NET, которая принимает N TIFF-файлов и генерирует один печатный PDF-файл.

Чтобы дать вам представление о том, как это будет выглядеть, код C # для получения двух изображений формата tiff и преобразования в PDF будет выглядеть так:

FileSystemImageSource images = new FileSystemImageSource(pathToTiff1, pathToTiff2);
PdfEncoder encoder = new PdfEncoder();
encoder.CreateSelfPrintingPdf = true;
encoder.Save(outputStream, images, null);
1 голос
/ 16 января 2010

То есть вы хотите создать двухстраничный PDF-файл, состоящий из изображения в виде буквы на каждой странице?

Возможно, следующие ссылки будут интересны:

http://www.fpdf.org/

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

Тогда вы можете просто сбросить PDF в браузер.

0 голосов
/ 16 января 2010

Вместо документа PDF вы также можете использовать HTML-документ со свойствами page-break-before css . например попробовать

<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>

, а затем перейдите к предварительному просмотру в браузере.

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