php实现打印的代码??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php实现打印的代码??相关的知识,希望对你有一定的参考价值。

参考技术A 分二种情况:
第一种打印到屏上,超简单就用
<?
echo ("php代码段打钱中...");
?>

第二种,打印到打印机,这种大多都是用JS方法:

1【<a href='javascript:window.print()'>打印此页</a>】
2.若为按钮 <input type="submit" value="打印" onClick="javascript:window.print()"/>
3.
Javascript代码:
<script language="javascript" type="text/javascript">
function printsetup()wb.execwb(8,1);
function printpreview()wb.execwb(7,1);
function printit()wb.execwb(6,6)
function printclose()wb.execwb(45,1);
//WebBrowser.ExecWB(1,1) 打开
//Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
//Web.ExecWB(4,1) 保存网页
//Web.ExecWB(6,1) 打印
//Web.ExecWB(7,1) 打印预览
//Web.ExecWB(8,1) 打印页面设置
//Web.ExecWB(10,1) 查看页面属性
//Web.ExecWB(15,1) 好像是撤销,有待确认
//Web.ExecWB(17,1) 全选
//Web.ExecWB(22,1) 刷新
//Web.ExecWB(45,1) 关闭窗体无提示
</script>
CSS代码:
<style media="print" type="text/css">
.Noprintdisplay:none;
.NextPagepage-break-before:always;
</style>
网页代码:
<object id="wb" height="0" "width=0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" name="wb"></object>
<div class="Noprint" style="text-align: right;border: 1px solid #99BCFC;margin:0px 5px 0px 5px;padding:2px 5px 2px 5px;background-color: #EBF1FA;">
<input type="button" onclick="javascript:printsetup();" name="button2" id="button2" value="页面设置"/>
<input type="button" onclick="javascript:printpreview();" name="button3" id="button3" value="打印预览"/>
<input type="button" onclick="javascript:printit();" name="button4" id="button4" value="打印"/>
<input type="button" onclick="javascript:printclose();" name="button" id="button" value="关闭"/>
</div>追问

请问有没有那种就是既可以打印预览又可以设置需要打印的范围而不是整个页面都打印啊???

追答

请看第3种

追问

第三种用来运行时打印效果

这相当于是将整个页面都打印出来了啊?

追答

用PHP输出你相要打印 的内容到屏幕上(第一种情况),然后用第三种方法打印不就行了!(第二种的第3点)

本回答被提问者和网友采纳
参考技术B php打印一般使用如下几个函数:
echo
print_r
var_dump
其中的echo一般是输出字符串数字的简单类型。
print_r和var_dump两个函数则是可以打印各种类型,它们的区别则是print_r不会打印出类型,而var_dump则会打印出值的类型。
只要逐个测试下即可明白。
参考技术C print()追问

我想要实现页面的打印???

使用PHP打印出水平而不是垂直的表格

【中文标题】使用PHP打印出水平而不是垂直的表格【英文标题】:Printing out a table horizontal instead of vertical using PHP 【发布时间】:2012-06-15 14:48:00 【问题描述】:

问题:

我有一个垂直打印的表格,但我希望它改为水平打印。任何人都可以就如何实现这一点提供指导?

PHP 代码:

echo '
    <table class="table table-condensed table-bordered neutralize">     
        <tbody>
            <tr>
                <td><b>Kriterium</td>
                <td><b>Betyg</td>
            </tr>
';

while ($row = mysql_fetch_assoc($result))

    echo '
        <tr>
            <td>'.$i.'</td>
            <td>'.$row['RID'].'</td>
        </tr>
    ';

    $i++;


echo '
        </tbody>
    </table>
';

当前输出:

期望的输出:

【问题讨论】:

你混淆了 td 和 tr 标签。 【参考方案1】:

循环遍历您的查询结果,首先构建您想要的两行,然后将它们添加到您的表中:

$kriterium = '';
$betyg = '';

while ($row = mysql_fetch_assoc($result))

    $kriterium .= '<td>'.$i.'</td>';
    $betyg .= '<td>'.$row['RID'].'</td>';
    $i++;


echo '
    <table class="table table-condensed table-bordered neutralize">     
        <tbody>
            <tr>
                <td><b>Kriterium</td>'.$kriterium .'
            </tr>
            <tr>
                <td><b>Betyg</td>'.$betyg .'
            </tr>
        </tbody>
    </table>
';

【讨论】:

在 PHP 中是 .=+= 相同的东西 不,.= 是连接赋值运算符,而+= 是加法赋值运算符。 这是一个非常聪明的解决方案,从来没有想过。非常感谢!【参考方案2】:

您可以在二维数组中收集数据,然后重用此数组以构建不同格式的输出:

$rows  = array();
$index = 0;

while ($row = mysql_fetch_assoc($result))
    $rows[0][] = ++$index;
    $rows[1][] = $row['RID'];


$table = '<table class="table table-condensed table-bordered neutralize">     
  <tbody>
    <tr><td><b>Kriterium</b></td><td>%s</td></tr>
    <tr><td><b>Betyg</b></td><td>%s</td></tr>
  </tbody>
</table>';

printf(
  $table, 
  implode('</td><td>', $rows[0]),
  implode('</td><td>', $rows[1])
);

【讨论】:

以上是关于php实现打印的代码??的主要内容,如果未能解决你的问题,请参考以下文章

怎么打印php版本信息

php部分:网页中报表的打印

php 在列表也可以 实现不借助控件 实现批量打印吗?

图形打印

PHP 输出/打印数组作为PHP代码。

用双引号或单引号打印 HTML 和 PHP 代码