我很难完成这项工作,我需要的是打印数据库中的合同,当我说打印时,是物理打印。
我可以使用它访问我想要打印的内容
<?php echo @$contrato['Content']['text']; ?>
但我没有别的办法,比如获取此信息,保存到临时文件然后打开并打印?我迷路了。
我知道我是否使用:
<script>window.print()</script>
它会打印我不想要的整个页面,我想打印那个 php 代码给我带来的东西。
我很难完成这项工作,我需要的是打印数据库中的合同,当我说打印时,是物理打印。
我可以使用它访问我想要打印的内容
<?php echo @$contrato['Content']['text']; ?>
但我没有别的办法,比如获取此信息,保存到临时文件然后打开并打印?我迷路了。
我知道我是否使用:
<script>window.print()</script>
它会打印我不想要的整个页面,我想打印那个 php 代码给我带来的东西。
我没有别的办法,比如,获取此信息,保存到临时文件,然后打开并打印?
将其打印到页面并使用此 javascript 从浏览器中打印:
<?php echo @$contrato['Content']['text']; ?>
<script>window.print()</script>
如果内容是纯文本,则创建一个仅包含“文本”字段内容的视图并禁用该视图/操作的布局,或者根本不使用视图,而只是回显来自控制器的结果例如
在你的控制器中
public function printable($id)
{
// (retrieve your data from the database here)
// ...
$this->layout = false;
$this->autoRender = false;
echo $contrato['Content']['text'];
}
在您现有/其他视图中,链接到可打印版本;
<?php
echo $this->Html->link(
'printable version',
array(
'action' => 'printable',
0 => $id // needs to be present as a viewVar or some other way
),
array('target' => '_blank')
);
?>
使用时需要手动使用 CTRL+P 或 'print'
一些注释/备注
如果内容是纯文本,则以浏览器使用的默认字体打印文本。
从浏览器打印 HTML 时,您无法控制页面打印的确切方式。尽管 CSS 有各种“打印”选项,但在大多数情况下,浏览器会在打印时附加页眉和/或页脚(例如,打印页面的 URL 和页码)。
完全控制输出布局(包括字体、页面大小和抑制页眉/页脚)的唯一选项是生成内容的 PDF 文件。存在各种使用 PHP 将 HTML 转换为 PDF 的库。可以在这里找到一个不错的 CakePHP 插件: