标签: dompdf

如何获取DOMPDF中的总页数?

例如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不起作用.

php dompdf

7
推荐指数
3
解决办法
2万
查看次数

Laravel HTML到PDF转换(DOMPDF)

用于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)

php dompdf laravel laravel-5

7
推荐指数
1
解决办法
5747
查看次数

DOMPDF页面方向既有横向也有纵向

在HTML形成的表3中.每张纸都是一张桌子.我们需要一些东西转换为pdf,最后一片叶子在风景中!随着肖像工作,以及如何制作专辑的一张......我不明白......

dompdf

7
推荐指数
1
解决办法
2万
查看次数

如何在 DOMPDF 生成器上显示背景图像

到目前为止,我一直在尝试使用这段代码:

<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() 函数进行,但它们都无法显示背景图像。

css pdf background-image dompdf

7
推荐指数
2
解决办法
2万
查看次数

将变量从 DOMPDF 控制器传递到视图

我想用 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)结果正确

dompdf laravel

7
推荐指数
1
解决办法
2万
查看次数

Dompdf 无法从 SVG 正确生成 pdf

我在生成带有 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)

php pdf svg dompdf

7
推荐指数
2
解决办法
9326
查看次数

将DOCX转换为PDF时没有样式

我正在尝试使用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)

php dompdf phpword phpoffice

7
推荐指数
1
解决办法
1239
查看次数

PDF 附件未显示在 mailtrap HTML 输出中,但显示在 RAW 部分中 - Laravel 5.7

我发现我附加到电子邮件的 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)

php email dompdf laravel laravel-5.7

7
推荐指数
1
解决办法
4189
查看次数

Bootstrap 4 网格布局不适用于 dompdf

我正在使用 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)

生成的PDF: 包含所有文本的 pdf 屏幕截图

更新: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)

包含所有文本的 pdf 屏幕截图

html css pdf dompdf bootstrap-4

7
推荐指数
1
解决办法
1万
查看次数

dompdf 未从 Laravel 8 和 Livewire 视图下载 PDF

我在 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)

php dompdf laravel laravel-livewire

7
推荐指数
1
解决办法
8659
查看次数