0

我有一个 Laravel/Angular 应用程序,并且想要根据将在该 PDF 上显示的变量的内容来更改在其中一个页面上生成的 PDF 的内容。

PDF 在文件reminder.blade.php中,目前有以下内容:

<html>
<head>
    ...
</head>

<body style="-webkit-font-smoothing: antialiased; font-family: 'Roboto'; font-weight: normal; margin: 0; padding: 0;">
    ...
</body>
</html>

我想<body></body>根据要在 PDF 上显示的项目数量以及这些项目的“状态”来更改显示的内容,所以我用 PHPif语句包围了 HTML:

<html>
<head>
    ...
</head>

@if(( count( {{ $transaction['transactionItem'] }} ) == 1) && {{ $transaction['transactionItem']['currentStatusId'] }} == '1010')
    <body style="-webkit-font-smoothing: antialiased; font-family: 'Roboto'; font-weight: normal; margin: 0; padding: 0;">
        ... Only first page of PDF here
    </body>
@else
    <body style="-webkit-font-smoothing: antaliased; font-family: 'Roboto'; font-weight: normal; margin: 0; padding: 0;">
        ... Full PDF content here
    </body>
@endif
</html>

但是,当我现在单击生成和下载 PDF 的按钮时,控制台的“网络”选项卡中出现错误,其中显示:

解析错误:语法错误,意外'<'(查看:/home/vagrant/code/resources/views/pdfs/prov/reminder.blade.php)

在 419cdd3906d761bc1bb55581502a15d04c1fe7a7.php 第 8 行 CompilerEngine->handleViewException(object(FatalThrowableError), 1) 在 PhpEngine.php 第 46 行

这似乎要么抱怨@if我添加的语句,要么根据这里unexpected '<'的答案,是因为我在行的双引号内使用单引号......即使我正在关闭两者都是正确的-至少据我所知...<body ...>

有人知道我在这里做错了什么吗?如何使生成的 PDF 的内容成为有条件的,就像我正在尝试的那样?

4

0 回答 0