我正在开发一个需要生成收据并将其发送到打印机的商业系统。我试图通过JQuery调用包含下面代码的文件来生成它(整个代码是一个唯一的文件)。如下:
第一部分(PHP)
Dim strSQL As String
strSQL = " 1=1 "
If Not IsNull(cmbComboBox1) Then
strSQL = strSQL & " AND Field1 = " & cmbComboBox1
End If
If Not IsNull(cmbComboBox2) Then
strSQL = strSQL & " AND Field2 = " & cmbComboBox2
End If
If Not IsNull(cmbComboBox3) Then
strSQL = strSQL & " AND Field3 = " & cmbComboBox3
End If
Me.Filter = strSQL
Me.FilterOn = True
第二部分(HTML-PHP /获取查询结果,它有效):
<?php
ob_start();
$conn = mysqli_connect('localhost','root','','dbname');
mysqli_query($conn,"SET CHARACTER SET UTF8");
setlocale(LC_TIME, "Spanish_Colombia");
date_default_timezone_set("America/Bogota");
$codrc=$_REQUEST["codrc"];
$sqlRD="SELECT p.product_name,rd.units,rd.unit_cost,df.subtotal
FROM product p, receipt_detail rd, receipt r
WHERE p.product_code=df.product_code AND r.receipt_code=rd.receipt_code
AND df.receipt_code=".$codrc;
$queryRD=mysqli_query($conn,$sqlRD);
$sqlR="SELECT rec_date_time,total FROM receipt WHERE receipt_code=".$codrc;
$queryR=mysqli_query($conn,$sqlR);
$fetchR=mysqli_fetch_assoc($queryR);
$t=strtotime($fetchR["rec_date_time"]);
?>
第三部分(Dompdf 0.7.0,这是问题所在):
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<h3 align="center">ENTERPRISE NAME</h3>
<p align="center">LEGAL REGISTRY CODE</p>
<p align="center">Date and time:<?php echo utf8_encode(strftime("%A, %d de %B de %Y - %I:%M %p",$t)); ?></p>
<table border="0">
<tr>
<td>Product</td>
<td>Unit cost</td>
<td>Units</td>
<td>Subtotal</td>
</tr>
<?php while($fetchDF=mysqli_fetch_assoc($queryDF)){ ?>
<tr>
<td><?php echo $fetchRD["product_name"]; ?></td>
<td><?php echo $fetchRD["unit_cost"]; ?></td>
<td><?php echo $fetchRD["units"]; ?></td>
<td><?php echo $fetchRD["subtotal"]; ?></td>
</tr>
<?php } ?>
<tr colspan="4" align="right"><td>No-tax total: $<?php echo $fetchR["total"]*.84; ?></td></tr>
<tr colspan="4" align="right"><td>Tax: $<?php echo $fetchR["total"]*.16; ?></td></tr>
<tr colspan="4" align="right"><td>Total: $<?php echo $fetchR["total"]; ?></td></tr>
</table>
<p align="center">Thank you for buying, see you soon!</p>
</body>
</html>
现在,我在控制台中获得的唯一响应是一个混乱的字符串。所以,出现了一些问题:
输出缓冲是获取数据的必要条件吗? 我研究了this question,但我发现它使用了旧版本的Dompdf库。任何人都知道从0.5.x到0.7.0的任何变化是否会影响结果?或者我应该使用旧版本的Dompdf进行测试吗?
无论如何直接将生成的PDF发送到票据打印机?
尽快得到任何答复。非常感谢你。