【问题标题】:How to print data by current table on page in Laravel 5?如何在 Laravel 5 中按页面上的当前表格打印数据?
【发布时间】:2015-12-10 06:26:00
【问题描述】:

我的问题是:

  1. 当我单击打印按钮时,它以不在表格中的文本显示数据。
  2. 我要打印的数据表依赖于当前表的显示。方法 这是当前页面上的所有数据列表和选择选项。 当我选择或过滤表时,它仍会打印所有数据。数据 这里是从数据库中收集的。
  3. 为什么登录后没有显示下一页的图片?

这是我的 JavaScript:

<script lang='javascript'>
    $(document).ready(function(){
        $('#printPage').click(function(){
            var data = '<input type="button" value="Print this page" onClick="window.print()">';
            data += '<div id="div_print">';
            data += $('#report').html();
            data += '</div>';

            myWindow=window.open('','','width=200,height=100');
            myWindow.innerWidth = screen.width;
            myWindow.innerHeight = screen.height;
            myWindow.screenX = 0;
            myWindow.screenY = 0;
            myWindow.document.write(data);
            myWindow.focus();
        });
    });
</script>

刀片模板:

 <tbody id="result">

        @foreach($profiles as $profile)
        <tr>
            <td class="student_id" width="15%">{{$profile->student_id }}</td>
            <td class="name" width="30%">{{$profile->student_name }}</td>
            <td class="program" width="30%"> {{$profile->program }}</td>
            <td class="faculty" width="25%">{{$profile->faculty }} </td>
        </tr>
            @endforeach
        </tbody>
    </table>
    <p align="center"><button id="printPage">Print</button></p>

【问题讨论】:

  • 你想用什么打印数据?一个PDF?或只是到任何来源?
  • @GeethW 你能帮我吗,如何获取打印表格数据的参数? (例如过滤表)
  • 所以你想把数据中的表格获取为PDF并打印出来?
  • 我已经完成了 pdf 文件。但是,我不能只在它页面的显示表上显示数据.. 我的视图页面怎么样?如何调用要打印的选定数据?在这里,在打印视图页面上,我只是从数据库中一一手动调用。我想打印屏幕上唯一显示的一个@GeethW
  • 所以要打印特定记录?

标签: javascript laravel-5


【解决方案1】:

我建议你使用PDF生成插件,例如pdf-laravel,而不是这样做。

PDF-LARAVEL:

  • 输出到文件

$router->get('/pdf/output', function() { $html = view('pdfs.example')->render();

    PDF::load($html)
        ->filename('/tmp/example1.pdf')
        ->output();

    return 'PDF saved';
});
  • 将功能添加到您的控制器

    类 HomeController 扩展控制器 { 私人 $pdf;

    public function __construct(Pdf $pdf)
    {
        $this->pdf = $pdf;
    }
    
    public function helloWorld()
    {
        $html = view('pdfs.example1')->render();
    
        return $this->pdf
            ->load($html)
            ->show();
    }
    

如果您想搜索其他选项,请转到 packagist.org 并搜索“pdf laravel”,您会找到一些为 Laravel 5 PDF 生成构建的包。

【讨论】:

  • 这样做,还需要javascript吗?我在视图方面不明白
  • 不,它不需要 javascript。您必须从您的视图中调用该函数。
  • 对不起,我听不懂你刚才说的。按钮打印怎么样?你能告诉我更多细节吗?
  • 哦。我现在明白了。它已经工作了。但我怎样才能从数据库中获取数据。如何更改下面的代码以调用数据库中的表并提供模型。 : 公共函数 helloWorld() { $html = view('print')->render();返回 $this->pdf ->load($html) ->show(); } @GeethW
  • 您是直接打印数据库中的数据还是使用html页面中的数据打印?
【解决方案2】:

回答问题2:

我要打印的数据表依赖于当前表的显示。方法 这是当前页面上的所有数据列表和选择选项。 当我选择或过滤表时,它仍会打印所有数据。数据 这里是从数据库收集的

如果你想过滤数据并在那里显示,你有两个选择,要么过滤来自控制器的数据,要么你可以使用 jQuery Datatables。链接here

你所要做的就是:

  1. 添加 Js。

    https://cdn.datatables.net/1.10.10/css/jquery.dataTables.min.css

  2. 添加css

    http://cdn.datatables.net/1.10.10/js/jquery.dataTables.min.js

  3. 打电话给你的桌子。

    $(document).ready(function(){ $('#myTable').DataTable(); });

【讨论】:

  • 我的浏览页面怎么样?如何调用要打印的选定数据?在这里,在打印视图页面上,我只是从数据库中一一手动调用..
  • 您要打印整个表格还是只打印屏幕上显示的表格?
【解决方案3】:
function printData()
{
   var print_ = document.getElementById("table_name");
   win = window.open("");
   win.document.write(print_.outerHTML);
   win.print();
   win.close();
}

由于window.open("")函数,上述函数将打印当前页面上的表格数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-20
    • 1970-01-01
    • 2010-10-09
    • 2021-09-06
    • 2023-04-04
    • 1970-01-01
    • 2017-06-07
    相关资源
    最近更新 更多