- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试使用 laravel 5 和 https://github.com/elibyy/laravel-tcpdf 创建一个 pdf
当我的客户填写表格并单击提交时,我有一个 20 页的表格,我想为他生成 pdf 并保存
我尝试在我的 Controller 中这样做
public function createPDF()
{
$pdf = Input::get('pdf',null);
$company = Input::get('company',null);
$branch = Input::get('branch',null);
$sub_branch = Input::get('sub_branch',null);
$form_type = Input::get('form_type',null);
$form_name = Input::get('form_name',null);
$form_heb_name = Input::get('form_heb_name',null);
$sig_path=FormsController::getSignature_file();
$data=compact('company','branch','sub_branch','form_type','form_name','form_heb_name','sig_path');
Input::flash();
if ($pdf)
{
$pdf = new TCPDF();
$pdf->SetPrintHeader(false);
$pdf->SetPrintFooter(false);
$pdf->AddPage();
$pdf->writeHTML(view('forms.'.$company.'.'.$branch.'.'.$sub_branch.'.'.$form_type.'.'.$form_name, $data)->render());
$filename = storage_path().'/forms_pdf/10006/26/4718326/'.$form_name.'.pdf';
$pdf->output($filename, 'I');
return redirect('forms');
}
return view('forms.'.$company.'.'.$branch.'.'.$sub_branch.'.'.$form_type.'.'.$form_name , $data);
}
它不起作用,它创建了 2 个 pdf 页面,所有字段都在彼此之上
如何解决?
另外,我想以无法编辑的方式保存pdf文件,我该怎么做?
谢谢。
最佳答案
我会尽量给你一个逐步的答案(针对 laravel 5.1 测试):
在使用它之前,请确保您正确安装了 TCPDF 服务提供程序:
安装 TCPDF 服务提供者
在 composer.json 中,添加这个包:
"require": {
"elibyy/laravel-tcpdf": "0.*"
}
运行 Composer 更新
在 config/app.php 中添加这个服务提供者
'providers' => [
//..
Elibyy\TCPDF\ServiceProvider::class,
]
运行 php artisan vendor:publish ,这将在您的文件中生成 config/laravel-tcpdf.php
在您的 Controller 中生成 pdf
public function createPDF()
{
[...]
//get default settings from config/laravel-tcpdf.php
$pdf_settings = \Config::get('laravel-tcpdf');
$pdf = new \Elibyy\TCPDF\TCPdf($pdf_settings['page_orientation'], $pdf_settings['page_units'], $pdf_settings['page_format'], true, 'UTF-8', false);
$pdf->SetPrintHeader(false);
$pdf->SetPrintFooter(false);
$pdf->AddPage();
$pdf->writeHTML(view('forms.'.$company.'.'.$branch.'.'.$sub_branch.'.'.$form_type.'.'.$form_name, $data)->render());
$filename = storage_path().'/forms_pdf/10006/26/4718326/'.$form_name.'.pdf';
$pdf->output($filename, 'I');
return redirect('forms');
}
关于php - 如何使用带有 tcpdf laravel 5 的 Blade View 生成 pdf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30499090/
我知道 Laravel 的 Blade 模板位于/resource/views 目录中。它的扩展名是 .blade.php 。 我的问题是我已经为前端设计人员设置了一个单独的 repo 来处理 bla
我知道 Laravel 的 Blade 模板位于/resource/views 目录中。它的扩展名是 .blade.php 。 我的问题是我已经为前端设计人员设置了一个单独的 repo 来处理 bla
在我的数据库中,我保存包含 Blade 标记的文本,例如: Hello {!! $name !!} how are you today. 我将此文本传递到变量 $text 中的电子邮件模板。在我使用的
我想从3个表构建 Blade View : “inputs_details”-字段:article_type(值:“p”代表产品,'s'代表服务),article_id,...。 “产品”-字段:ID
我正在使用 Laravel 5.1。我正在尝试将 Blade 指令 (@extend) 与我的自定义 Blade 指令一起使用。 Blade::directive('base', function()
我的 Blade 中有一个表格,其中包含 2 个日期供用户选择,例如: {{csrf_field()}} From
我正在尝试使用表单生成器创建一个按钮 {!! Form::button(' 'yourstyle']); 关于php - 在 Blade 代码中插入 Blade 代码,我们在Stack Overflo
我正在渲染一个页面,该页面主要是 Laravel 中带有 view::make 的表单,它正在崩溃,导致 ERR_CONNECTION_RESET。经过长时间的调查和许多红鲱鱼,我开始从 Blade
我有以下路径的部分 View 。 /views/acp/review/check.details.blade.php 我如何使用 Blade 包含这样的文件,因为如果我这样做 @include('vi
我继承了一个 Laravel 项目,该项目有许多 Blade 文件, Blade 文件中的标签内带有 javascript。问题是有很多重复的 JS 逻辑,所以我想提取 JS 并创建 JS 文件以包含
我正在为 laravel 项目中基于 Blade 的组件创建文档,并希望将语法突出显示的 Blade 代码片段显示为文档的一部分,就像这样: 我已经安装了 graham-campbell/markdo
在我激活 Facade 的 Lumen 应用程序中($app->withFacades() in app's bootstrap)我无法在 Blase 模板中使用 URL 类。 {{ URL::pre
我正在为 laravel 项目中基于 Blade 的组件创建文档,并希望将语法突出显示的 Blade 代码片段显示为文档的一部分,就像这样: 我已经安装了 graham-campbell/markdo
在我激活 Facade 的 Lumen 应用程序中($app->withFacades() in app's bootstrap)我无法在 Blase 模板中使用 URL 类。 {{ URL::pre
有人知道是否可以延长 child Blade 吗? 我的应用程序有一个通用的布局模板,然后每个页面都从该模板@extends。每个页面都可以根据需要为其他 HTML block (例如模态)引入一系列
我试图在 blade 中设置一个 php 变量。它可以在同一个 Blade 上工作,而不是在其他 Blade 上设置 var。 例子: header.blade.php @if(isset($comp
情况: 我正在制作一个侧面菜单,该菜单通过从表 (MySQL) 中获取数据来填充。 每代表菜单的一项: item 1 item 2 item 3 等等... 问题: 当我看到它的 Blade 时一切正
我在主视图中有 3 个元素 标题(导航栏) 内容 页脚 在 app.blade.php 中 @include('header') @yield('content')
我想将输入值从一个 Blade 文件传递到另一个 Blade 文件。 我是 PHP Laravel 的新手,在尝试使用它时遇到错误。 我认为我的语法在这里是错误的。有人可以帮忙吗? channel .
所以我的困境是这样的。 Email: info@example.com 正在作为 Blade 代码处理,不会在我的 Laravel 4 框架中的响应式 Bootstrap 网页中调整大小。 关于如何让
我是一名优秀的程序员,十分优秀!