问题标签 [knp-snappy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
470 浏览

wkhtmltopdf - 尝试使用 KNP Snappy 生成 pdf 时出错(但仅在一个地方)

在一个 symfony4 项目中,我使用 KNP Snappy 和 wkhtmltopdf 来生成 pdf 文件。这适用于我的计算机和服务器。在我的服务器上,我创建了一个名为“dev”的文件夹,我可以在其中测试我的项目(我在那里创建了一个副本)。当我在我的测试项目中设置 .env 文件时prod一切正常,包括生成 pdf 文件。

奇怪的是:在我的实际生产站点(在上面的文件夹中)上,所有代码都与“dev 文件夹”中的项目完全相同,但是每当我尝试生成 pdf 文件时,我都会得到一个很好的旧500 Internal server error.

这是我的配置文件knp_snappy.yaml

这应该只是工作,但它没有。我尝试更改文件,更改路径,但没有运气。会不会是文件夹权限问题?由于代码完全相同,这两个项目之间还有什么不同?我很难解决这个问题,因为我在测试时无法重现该问题,并且我无法找到有关该错误的任何信息。任何帮助是极大的赞赏。

到目前为止我尝试过的更新:我重新安装了依赖项。我更改了文件夹的权限,tmp确保我尝试生成的 pdf 不包含任何内容。我清除了缓存(显然),但仍然是一个错误。

0 投票
1 回答
1735 浏览

symfony - KnpSnappyBundle - wkhtmltopdf:加载 CSS/图像但不加载脚本

我从 HTML 生成的 PDF 的样式和图像加载良好,但脚本没有加载。

DockerFile(wkhtmltopdf 0.12.3,带有修补的 qt(我需要它作为页眉和页脚))

base.html.twig

然后扩展此模板并加载图像,例如:

看起来javascript可以执行,如果我插入

它有效,但不适用于其他脚本。

我试过了

它也不起作用(如您所见,我已将脚本的本地版本放在 web 文件夹中)

总结一下:

  • CSS 工作(自定义 css 和引导 css)
  • 图片作品
  • 可以执行Javascript
  • 未加载 Jquery 和引导脚本(引导网格不工作)

有任何想法吗 ?

0 投票
1 回答
517 浏览

javascript - wkhtmltopdf 标题中不必要的空格

我创建了带有页眉和页脚的 pdf。我想从 pdf 的第一页和第二页隐藏页眉和页脚。所以我写了下面的javascript代码:

内容被隐藏,但它覆盖了空白区域。那么如何从第一页和第二页中删除该空白?

0 投票
1 回答
19 浏览

symfony - 是否可以在从 knpsnappy 生成的 pdf 中显示数据表(包括数据)?

目前我正在使用 knpsnappy 生成 pdf,我正在显示一堆我已经想在其中显示的数据,但是将我的一个数据表放在那里真的很方便,这可能吗?

0 投票
1 回答
637 浏览

javascript - Knp/Snappy PDF 生成器空白页

我正在用 symfony/twig 做一个生成器,但总是有空页面。(有时 1 ,有时更多)这是我关于页面的 JS:var marginTop = 15;

注意::它的横向页面。在我的控制器中,所有边距 => 0 并启用了 javascript。我应该怎么办?我用谷歌搜索了它,有人在谈论它的错误,但确实是。我认为我做错了什么。

这是我的第一页和第二页的CSS

第三页 CSS

0 投票
1 回答
1055 浏览

symfony - 未创建 KnpSnappyBundle 文件

我在 Symfony4 上,我正在使用 knpSnappyBundle。我遇到了一个我无法解决的奇怪错误:

也许你想要我的代码所以这是我的服务`

这是我的 bin/ 目录中的 wkhtml2pdf

我不是创建 wkhtml2pdf 算法的人,老实说,我并不真正了解它是如何工作的,我所知道的只是我已经在另一个项目中使用它并且它工作正常..

0 投票
1 回答
194 浏览

php - Symfony 4 amqp/messenger 生成pdf

我需要发送一封附有 PDF 的电子邮件。使用 SnappyBundle 和 Swift Mailer,所有这些都非常简单。每当调用../document_name/{id}/mailpdf 并发送电子邮件时。

为了尝试让用户 exp 更好一点,我决定用 RabbitMQ 实现 Messenger 组件来排队这个动作。但此时 Snappy 的情况有点崩溃。这是我得到的错误:

  • 生成 pdf 然后发送它的服务只要不被messenger:consume_messages.
  • 为了让 Swift Mailer 在我发送电子邮件时尽快发送电子邮件$msg->send();并且不将其假脱机,我将其注释掉,# spool: { type: 'memory' }否则在运行服务swiftmailer.yml时不会发送电子邮件。messenger:consume_messages
0 投票
1 回答
711 浏览

php - 在 Symfony 中同时渲染模板和返回响应

我想生成一个 PDF 文件并使用 Swift Mailer 和 knp-snappy-bundle 将其作为附件发送到电子邮件中。问题是它只生成和下载 PDF 文件而不渲染模板。我希望它同时生成 PDF 和渲染模板。

代码:

0 投票
1 回答
228 浏览

php - 将自定义标头参数传递给 Knp SnappyBundle

我在 Symfony 4 中使用 Knp SnappyBundle。

我在通过 yaml 或作为请求中的选项传递自定义标头参数 ( --custom-header <name> <value>) 时遇到问题。wkhtmltopdf

这是我正在尝试的,似乎失败了:

我也尝试将值作为数组传递,但这也失败了。

0 投票
1 回答
1266 浏览

php - How to fix open_basedir restriction error in shared server?

I'm setting up laravel-snappy to create pdf.

My snappy config is as below

By running config('snappy') inside tinker, I also get the exact required path that is within the laravel project folder

But I'm getting the following error

local.ERROR: is_dir(): open_basedir restriction in effect. File(/tmp) is not within the allowed path(s):

How can I solve this without changing the php settings?