【问题标题】:print all invoices打印所有发票
【发布时间】:2011-02-21 20:15:09
【问题描述】:

我正在为客户构建一个订单系统,并希望让他们能够打印所有发票,但我不知道该怎么做

发票将存储在 mysql 数据库中,我想在新页面中显示每张发票 EG invoice.php?ID=234

但是可以打印一组页面吗?

我真的很喜欢这个,所以任何想法都会非常感激。

感谢阅读。

我说的是通过实际打印机打印到纸上。

【问题讨论】:

  • 关于打印到纸张的评论。即使要打印,您也必须先将来自某个地方的内容显示在屏幕上,然后才能打印。如下所述,您可以使用<body onload="self.print();"> 强制打开打印对话框。

标签: php mysql html printing invoice


【解决方案1】:

有几种方法可以做到这一点:

1) 打印摘要。好吧,也许只有我一个人,但我讨厌纸。我宁愿只输出重要信息的表格并通过 Javascript 发送到打印机。

2) 循环构建摘要页面,添加 CSS 分页符,然后 javascript-ing 到打印机

3) 构建多页 PDF。

我强制用户打印的方法:通过action=_blank在新窗口中打开页面,然后包括:<body onload="self.print()">

这是一种处理打印机分页的方法:How to deal with page breaks when printing a large HTML table

【讨论】:

    【解决方案2】:

    您可以使用include 命令生成 invoice.php 的内容并将其导入您的发票报告页面:

    $ID = 234;
    include('invoice.php');
    $ID = 235;
    include('invoice.php');
    $ID = 236;
    include('invoice.php');
    

    显然这将是一个循环,而不是硬编码。如果有很多发票,您可能只想一次显示几个。您的发票页面需要编码以处理来自查询字符串或变量的 ID 参数。

    invoice.php:

    if (isset($_GET['ID']))
        $ID = $_GET['ID'];
    
    // use $ID for displaying invoice
    

    【讨论】:

    • 对不起,我应该说我在谈论通过实际打印机打印到纸上。
    • 如果你构建一个函数来处理发票页面并在循环中调用它,PHP 会更干净!
    • 文件 -> 打印。必须来自某个地方。
    • 你可以强制它:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多