我只是觉得我的脑袋会爆炸,除非有人帮我解决这个问题:
我为almos 100.000注册表中的每一个存储了一对TIFF图像(通过公共密钥相关)。我创建了一个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。
任何人都可以帮我这么做吗?
非常感谢。
答案 0 :(得分:1)
所以你想生成一个2页的PDF,每页包含一个tiff图像吗?
以下链接可能会引起您的兴趣:
http://kevin.vanzonneveld.net/techblog/article/php_tiff2pdf/
然后您只需将PDF刷新到浏览器即可。
答案 1 :(得分:1)
你坚持使用PHP吗?如果您可以使用ASP.NET,my company有一组工具可以显示和打印来自AJAX控件的TIFF图像以及将生成自打印PDF文件的代码。如果您使用后者,则可以使您的Web工作在PHP中并连接到一个.NET服务,该服务需要N个tiff文件并生成一个可打印的PDF。
为了让您了解它的外观,采用两个tiff图像并转换为PDF的C#代码将是:
FileSystemImageSource images = new FileSystemImageSource(pathToTiff1, pathToTiff2);
PdfEncoder encoder = new PdfEncoder();
encoder.CreateSelfPrintingPdf = true;
encoder.Save(outputStream, images, null);
答案 2 :(得分:0)
您还可以使用带有page-break-before css properties的html文档,而不是pdf文档。例如尝试
<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>
然后转到浏览器中的打印预览。