例如Page 1 of 5.
网上有一个如何获得Page 1部分但不是of 5部分的例子.就是这个:
.pagenum:before { content: "Page " counter(page); }
Run Code Online (Sandbox Code Playgroud)
我使用的是版本0.6,$PAGE_NUM并且$PAGE_COUNT不起作用.
用于Laravel 5的DOMPDF包装器,它是用于laravel 5的html到pdf转换器.
我试图将laravel默认auth注册页面转换为PDF,路径为http://www.careertag.dev/auth/register.用于此目的的代码如下.但是我遇到了字体问题.你能帮我解决这个问题吗?
routes.php文件
Route::post('/screenshot', function(){
$pdf = App::make('dompdf.wrapper');
//$pdf->loadHTML('<h1>Test</h1>');
$view = View::make('auth.register')->render();
$pdf->loadHTML($view);
$pdf->stream();
//return $pdf->stream('invoice');
return $pdf->download('profile.pdf');
});
Run Code Online (Sandbox Code Playgroud)
错误
ErrorException in font_metrics.cls.php line 343: file_put_contents(C:\xampp\htdocs\careertag\storage\fonts/13350985545a9988387f8a573f409063.ttf): failed to open stream: No such file or directory
Run Code Online (Sandbox Code Playgroud) 在HTML形成的表3中.每张纸都是一张桌子.我们需要一些东西转换为pdf,最后一片叶子在风景中!随着肖像工作,以及如何制作专辑的一张......我不明白......
到目前为止,我一直在尝试使用这段代码:
<style>
body {
background-image: url(http://example.com/wp-content/uploads/2016/04/myImage.jpg);
background-size: 100%;
background-repeat: no-repeat;
}
</style>
Run Code Online (Sandbox Code Playgroud)
但这不会在生成的 PDF 上呈现图像。
正文中以这种方式格式化的纯图像标签可以正常工作并显示良好:
<img src="/home/example/public_html/wp-content/uploads/2016/04/myImage.jpg">
Run Code Online (Sandbox Code Playgroud)
有人知道为什么吗?我该怎么做才能让背景图像实际显示在生成的 pdf 上?
更新:
我现在尝试对链接的所有可能性进行 base64_encode() ..意味着我已经通过了,
/home/example/public_html/wp-content/uploads/2016/04/myImage.jpg
http://example.com/wp-content/uploads/2016/04/myImage.jpg
/wp-content/uploads/2016/04/myImage.jpg
这些 ^ 组合通过 base64_encode() 函数进行,但它们都无法显示背景图像。
我想用 laravel 创建一个 DOMPDF,并且我必须传递我的变量来查看。我一直在尝试传递如下变量,但它仍然不起作用。
这是我的 Laravel 控制器
public function pdf(Request $request, $id){
$salesorder = $this->show($id)->salesorder;
$detailservice = $this->show($id)->detailservice;
$detailemployee = $this->show($id)->detailemployee;
$data = [$salesorder, $detailemployee, $detailservice];
$pdf = PDF::loadView('summary.invoice', $data);
return $pdf->download('invoice.pdf');
}
Run Code Online (Sandbox Code Playgroud)
我认为错误是:
未定义变量:销售订单
如何将一些变量从 Laravel 控制器传递到 DOMPDF ?
PS:dd($data)结果正确
我在生成带有 SVG 内容的 pdf 保持设计时遇到问题。SVG 链接在 html 内部,并使用 html 生成 pdf。但不能正常工作。
这是代码:
$dompdf = new DOMPDF();
//HTML Content
$html = <<<EOD
<html>
<head>
<style type="text/css">
html {
margin: 1%;
padding: 0;
}
.header,
.footer {
width: 100%;
text-align: center;
position: fixed;
font-size: 26px;
}
.header {
top: 0px;
}
.footer {
bottom: 18px;
}
.center {
margin: 0 auto;
}
.divTable{
display: table;
width: 100px;
text-align: center;
margin: 0 auto;
}
.divTableRow {
display: table-row;
}
.divTableHeading {
margin: 0 …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用PHPWord将DOCX文件转换为PDF.当我执行脚本时,看起来似乎没有转换某些样式元素.在DOCX文件中,我有一个图像,两个带边框1px和隐藏边框的表,我正在使用Tabs.
当我执行脚本时,我得到一个没有图像的PDF文件,所有的Tab都被替换为Space,所有的表都有一个3px的边框.
有人知道我为什么错过这些款式吗?
这是我的脚本:
while ($data2 = mysql_fetch_array($rsSql)){
$countLines=$countLines+1;
$templateProcessor->setValue('quantity#'.$countLines, $data2['quantity']);
$templateProcessor->setValue('name#'.$countLines, $data2['name']);
$templateProcessor->setValue('price#'.$countLines, "€ " .$data2['price'] ."");
}
\PhpOffice\PhpWord\Settings::setPdfRenderer('./dompdf');
\PhpOffice\PhpWord\Settings::setPdfRendererPath('./dompdf');
\PhpOffice\PhpWord\Settings::setPdfRendererName('DOMPDF');
$temp_file = tempnam(sys_get_temp_dir(), 'Word');
\$templateProcessor->saveAS($temp_file);
$phpWord = \PhpOffice\PhpWord\IOFactory::load($temp_file);
$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord , 'PDF');
$xmlWriter->save('result.pdf');
header("Content-type:application/pdf");
header("Content-Disposition:attachment;filename='result.pdf'");
readfile("result.pdf");
Run Code Online (Sandbox Code Playgroud) 我发现我附加到电子邮件的 Pdf 在发送到 Mailtrap 中的电子邮件时没有显示,但它显示在原始数据部分。
我的控制器发送电子邮件的方法:
public function store(Request $request)
{
$this->validate($request, [
'name' => 'required',
'email' => 'required|email',
'quantity' => 'required|numeric|digits:1',
]);
if ($request->quantity > 5) {
toastr()->error('Only 5 tickets per booking is allowed');
return redirect()->back();
}
$a = 0;
$file = array();
while ($a < $request->quantity) {
$ordercode = substr(md5(time() . mt_rand(1, 1000000)), 0, 22);
$qrcodepath = 'assets/payments/qrcodes/'.str_slug($request->name).time().'.png';
$qrcode = QrCode::format('png')->size(400)->generate($ordercode, $qrcodepath);
$data["name"] = $request->name;
$data["email"] = $request->email;
$data["qrcode"] = $qrcodepath;
$data["ordercode"] = $ordercode;
$pdf = PDF::loadView('pdf.payment', $data); …Run Code Online (Sandbox Code Playgroud) 我正在使用 dompdf 渲染 PDF 文档。我们在整个应用程序上使用 Bootstrap 4,因此我希望能够在用于生成文档的树枝模板中使用它。
目前,我面临着 Bootstrap 4 网格系统在生成的 PDF 中渲染不佳的问题:同一 .row div 中的元素全部堆积起来。
我确定 Bootstrap CSS 已加载到模板中。
我的代码:
<div class="container-fluid">
<div class="row">
<div class="col-xs-1">
little text
</div>
<div class="col-xs-11">
<h1>Big title</h1>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
更新:用col-n而不是col-xs-n
我的代码:
<div class="container-fluid">
<div class="row">
<div class="col-1">
little text
</div>
<div class="col-11">
<h1>Big title</h1>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我在 Laravel v8.26.1 应用程序中使用dompdf 。我也在使用 Laravel Livewire v1.3.5。
我可以在 Livewire 之外获取下载 pdf 的视图,但似乎无法让它在 Livewire 视图内工作。我已经尝试了所有我能想到的配置,但仍然遇到障碍。我要么收到Undefined variable: workorder错误,要么根本没有错误,但也没有下载。
路线
...
Route::livewire('/workorder/{workorder}/print', 'admin.workorders.printer')->name('admin.workorder.print')->layout('layouts.admin');
...
Run Code Online (Sandbox Code Playgroud)
livewire/admin/workorders/print.blade
...
<div>
<button wire:click="generatePDF({{$workorder->id}})">Create PDF</button>
</div>
...
Run Code Online (Sandbox Code Playgroud)
livewire/admin/workorders/printer.php
...
use Barryvdh\DomPDF\Facade as PDF;
...
public function generatePDF($id)
{
$record = Workorder::find($id);
$data = [
'project_id' => $record->project_id,
'project_name' => $record->project_name,
'customer_id' => $record->customer_id,
'generator_id' => $record->generator_id,
'workorder_po_number' => $record->workorder_po_number,
'workorder_number' => $record->workorder_number,
'prevailing_wage' => $record->prevailing_wage,
];
$pdf = PDF::loadView('livewire.admin.workorders.print', $data);
return $pdf->download('demo.pdf');
}
Run Code Online (Sandbox Code Playgroud)