我下面有以下代码,可以将页码完美地添加到文档右下角的每个页面中。
我有一个不需要页码的标题页,因此想跳过它的页码。
有办法做到这一点吗?或者至少将代码修改为 page_num+1、page_count-1,然后 div 覆盖标题页,使其不显示?
$dompdf->render();
$canvas = $dompdf->get_canvas();
$font = Font_Metrics::get_font("helvetica", "bold");
$canvas->page_text(522, 770, "Page: {PAGE_NUM} of {PAGE_COUNT}", $font, 10, array(0,0,0));
Run Code Online (Sandbox Code Playgroud) 下面是我当前的代码,我想将 pdf 存储在我的文件中而不查看它。是否可以 ?当用户将 $bus 对象的数据存储在数据库上时。我想将以下 pdf 存储在本地。
$user = Festivals::where('id', $bus->id)->first();
$pdf = PDF::loadView('user.view', compact('user'));
$name = 'Ref_no' . $user->ref_no . '_' . date('m-d-Y') . '.pdf';
return $pdf->download($name);
Run Code Online (Sandbox Code Playgroud) 当您尝试在第二页上应用上边距时,页眉行为不正确。
CSS
body {
font-family: Arial, Helvetica Neue, Helvetica,sans-serif;
font-size: 14px;
}
@page {
margin: 100px 25px;
}
header {
position: fixed;
top: -70px;
left: 0px;
right: 0px;
height: 50px;
}
main {
margin-top: 60px;
}
footer {
position: fixed;
bottom: -100px;
left: -60px;
right: -60px;
background-color: #3f8d99;
height: 60px;
border-top: 1px solid #333;
font-size: 12px;
width: 100%;
padding-top: 6px;
padding-left: 60px;
padding-right: 60px;
color: white;
}
footer .pagenum:before {
content: counter(page);
}
footer .pagenum-container { …Run Code Online (Sandbox Code Playgroud) 嗨,我无法在 dompdf 中生成 simpleqrcode
这是我的blade.php
<img src="data:image/png;base64, {!! base64_encode(QrCode::format('svg')->size(200)->errorCorrection('H')->generate('string')) !!}">
Run Code Online (Sandbox Code Playgroud)
在我的控制器中
public function printpdf($isbn)
{
$data = [
'isbn' => $isbn
];
$pdf = PDF::loadView('main.inventory.view_pdf ', $data);
return $pdf->stream($isbn.'.pdf');
}
Run Code Online (Sandbox Code Playgroud)
我试过这个图像并成功渲染
<img src="{{ public_path('/uploads/image/1578635297.jpg')}}" style="width:30%;height:50%;">
Run Code Online (Sandbox Code Playgroud)
不知道为什么我不能将 qrcode 生成到 dompdf 但是当我在其他刀片中生成它的工作而不是在 dompdf 中
有谁知道如何在 laravel 中使用 dompdf 保存生成的 pdf 文件并动态命名它?我总是遇到这个错误
failed to open stream: No such file or directory
Run Code Online (Sandbox Code Playgroud)
在尝试生成 pdf 文件并将其保存到项目目录时。这是我的控制器代码
$bills = Tagihan::join('pesanan', 'tagihan.id_pesanan', 'pesanan.id_pesanan')
->join('kendaraan', 'pesanan.id_kendaraan', 'kendaraan.id_kendaraan')
->join('kategori_mobil', 'kendaraan.id_kategori_kendaraan', 'kategori_mobil.id_kategori')
->join('users', 'pesanan.id_pengguna', 'users.id')
->where('pesanan.id_pesanan', $save->id_pesanan)
->select('pesanan.*', 'users.*', 'tagihan.*', 'kendaraan.*', 'kategori_mobil.nama_kategori')
->first();
$today = Carbon::now('GMT+7')->toDateString();
$pdf = new PDF();
$pdf = PDF::loadView('admin.tagihan.pdf', compact('bills','today'));
file_put_contents('public/bills/'.$noOrder.'.pdf', $pdf->output() );
return redirect()->route('pesananIndex');
Run Code Online (Sandbox Code Playgroud)
我想用 $noOrder.'pdf' 的自定义字符串保存我的 pdf 文件,但是当我使用这样的静态名称时
file_put_contents('public/bills/bubla.pdf', $pdf->output());
Run Code Online (Sandbox Code Playgroud)
我没有错误,有什么解决办法吗?
在使用 domppdf 生成 PDF 时,我一直无法找到在浏览器选项卡上显示标题(如元标题)的方法。
在一些帖子中,他们建议将其添加到 HTML 代码中:
<html>
<head><title> My Title </title>
</head>
<body>
/** PDF Content **/
</body>
Run Code Online (Sandbox Code Playgroud)
但是,也许是由于我正在使用的版本,但添加这些标签会破坏我的代码,并且 dompdf 返回一个很长的错误。我只有身体,而且效果很好。
不幸的是我无法升级我的 dompdf 版本,所以我正在尝试寻找另一个解决方案。我认为使用 PHP 标头是不可能的,但我愿意接受建议。
到目前为止我有这个:
$dompdf = new Dompdf();
ob_start();
include("pdf_HTML.php");
$fileName = "download.pdf";
$content = ob_get_clean();
$dompdf->loadHtml($content);
// (Optional) Setup the paper size and orientation
$dompdf->setPaper('Letter', 'portrait');
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF to Browser
header("Content-type:application/pdf");
header("Content-Disposition: attachment; filename=$fileName.pdf'");
$dompdf->stream($fileName,array('Attachment'=>0));
Run Code Online (Sandbox Code Playgroud) 在最近的dompdf版本(domdpf beta 2)中,出于安全原因,内联php被禁用.这反过来导致了之前的页脚/标题代码:
<script type="text/php">
if ( isset($pdf) ) {
$font = Font_Metrics::get_font("helvetica", "bold");
$pdf->page_text(72, 18, "Header: {PAGE_NUM} of {PAGE_COUNT}", $font, 6, array(0,0,0));
}
</script>
Run Code Online (Sandbox Code Playgroud)
不再工作了.
我现在正在尝试使用CSS重新创建此脚本所执行的操作.到目前为止,我已经弄清楚如何让CSS计算页面:
.pagenum:before { content: counter(page); }
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是将页脚粘贴到页面底部.关于如何执行此操作的大多数CSS教程似乎都不起作用.这是我的页面的CSS:
html,body {
font-family:interstate;
height:100%;
width:100%;
overflow:auto;
margin-left: 40px;
margin-right: 40px;
margin-top: 20px;
margin-bottom:40px;
min-height: 100%;
}
P.breakhere {page-break-before: always}
table
{
border-collapse: collapse;
page-break-inside: avoid;
font-size:15px;
}
td
{
border: 1px solid #000
}
.noBorder {
border: 0
}
#header {background:#ffffff url('gradient.png') no-repeat center center;
height: 100px; …Run Code Online (Sandbox Code Playgroud) 我已经开始尝试使用codeigniter和pdfs.我正在使用两者的最新版本.出于某种原因,我在尝试渲染pdfs时遇到此错误:
Warning: require_once(C:\Users\Manfred\Dropbox\Web\Alodu\application\helpers\dompdf/include/ci_exceptions.cls.php) [function.require-once]: failed to open stream: No such file or directory in C:\Users\Manfred\Dropbox\Web\Alodu\application\helpers\dompdf\dompdf_config.inc.php on line 208
Fatal error: require_once() [function.require]: Failed opening required 'C:\Users\Manfred\Dropbox\Web\Alodu\application\helpers\dompdf/include/ci_exceptions.cls.php' (include_path='.;C:\php\pear') in C:\Users\Manfred\Dropbox\Web\Alodu\application\helpers\dompdf\dompdf_config.inc.php on line 208
Run Code Online (Sandbox Code Playgroud)
使用的代码是:
function pdf()
{
$this->load->helper(array('dompdf', 'file'));
// page info here, db calls, etc.
/*
$data=array(
"$title"=>"Hello!",
"$test_questions"=>"1,2,3,4",
);
*/
$data['test_questions']= "hello";
$html = $this->load->view('pdf/test_ibdp', $data, true);
$filename="Test".$data['test_questions'];
pdf_create($html, $filename);
write_file('name', $data);
}
Run Code Online (Sandbox Code Playgroud)
帮助者:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
function pdf_create($html, $filename, $stream=TRUE)
{
require_once("dompdf/dompdf_config.inc.php");
$dompdf …Run Code Online (Sandbox Code Playgroud) 当我尝试一次创建两个pdf时,它会抛出错误......
致命错误:未捕获异常'DOMPDF_Exception',消息'找不到块级父级.不好.' 在第38行的C:\ wamp\www\si2i\application\libraries\dompdf\include\inline_positioner.cls.php中(!)DOMPDF_Exception:找不到块级父级.不好.在第38行的C:\ wamp\www\si2i\application\libraries\dompdf\include\inline_positioner.cls.php中
这是代码:
$this->load->library('pdf');
$this->pdf->set_base_path($data['path']);
$this->pdf->load_view('adm/invoice/si2i',$data);
$this->pdf->render();
$output = $this->pdf->output();
file_put_contents("uploads/invoice/invoice_".$invoice_file_name.".pdf", $output);
$this->load->library('pdf');
$this->pdf->set_base_path($data['path']);
$this->pdf->load_view('adm/invoice/si2i',$data);
$this->pdf->render();
$output = $this->pdf->output();
file_put_contents("uploads/invoice/invoice_".$invoice_file_name.".pdf", $output);
Run Code Online (Sandbox Code Playgroud)
请帮帮我..
提前致谢...
我正在开发cakephp中的应用程序,我需要生成一个pdf并将其作为电子邮件附件发送.我已经能够使用dompdf创建一个pdf视图,但我不知道如何将其保存为文件并将其作为附件发送到电子邮件中.请告诉我如何实现这一目标.
我在 Laravel 项目中使用 dompdf。我正在尝试生成一个包含表格的 PDF。表格的所有数据正在生成,但表格边框未显示。
但是当我在浏览器中生成 html 时,它可以在表格的 100% 宽度下正常工作,但在 PDF 中却无法获得 100% 宽度。
我的控制器代码:
$users = $course->users()
->withPivot('section_id')
->wherePivot('section_id', '=', $section->id)
->orderBy('student_id', 'asc')
->get();
$season = Season::where('is_ended', 0)->first();
$pdf = PDF::loadView('sections.attendace', compact('users', 'course', 'season', 'section'));
return $pdf->stream('attendance.pdf');
Run Code Online (Sandbox Code Playgroud)
刀片代码:
<div class="attendance-table">
<table class="table-bordered">
<tr>
<th class="attendance-cell">ID</th>
<th class="attendance-cell">Name</th>
@for($i = 1; $i<=9; $i++)
<th class="blank-cell attendance-cell">{{$i}}</th>
@endfor
</tr>
@foreach($users as $user)
<tr>
<td class="attendance-cell">{{$user->student_id}}</td>
<td class="attendance-cell">{{ucwords($user->name)}}</td>
@for($i = 1; $i<=9; $i++)
<td class="blank-cell attendance-cell">{{$i}}</td>
@endfor
</tr>
@endforeach
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS …
我一直在尝试通过 axios 从我的 Laravel 应用程序下载 PDF,但下载的文件是一个空的 pdf。
我正在使用 DomPdf 创建 pdf 并使用 download.js 下载它,下面是我的代码。
注意:如果我尝试在没有 ajax 请求的情况下下载它,它工作得很好。
拉拉维尔,
return PDF::loadView('print', compact('bill'))->download($bill->number.'.pdf');
Javascript
``axios.get(`/bills/${id}/print` {
responseType: 'blob',Accept: 'application/pdf'
})
.then(response => {
const download = require('@/download');
// @ is just an alias for my root js directory.
download(response.data, `file.pdf`, 'application/pdf');
});``
Run Code Online (Sandbox Code Playgroud) 我在 Laravel 中使用 DOMPDF 动态生成 PDF,并且必须将该文档保存到 Amazon 的云服务。
我无法将文档保存到云端。但我只能保存在本地。
$pdf = PDF::loadView('contract.contract-pdf', $ data);
$pdf->save('contract.pdf');
$s3 =\Storage::disk('s3');
$s3->put('pdf/contract', new File('contract.pdf'), 'public');
Run Code Online (Sandbox Code Playgroud)
如何发送到云端?