问题标签 [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.
pdf - 如何使用 knp-snappy-bundle 在 PDF 中设置页眉和页脚?
长话短说
由于knp-snappy-bundle
我无法在 PDF 中生成页眉,而我实际上可以生成页脚。
它是一个错误,一个功能,还是我做错了什么?
细节
1. 环境
我正在测试knp-snappy-bundle
,我还wkhtmltopdf
从h4cc
. 这是我的一部分composer.json
:
生成的二进制文件是wkhtmltopdf
这样说的:
2.没有页眉或页脚,它可以工作
我已经设置了一个使用的控制器knp-snappy-bundle
并且它可以工作:
这是我的PdfController
:
它基本上:
- 有一个
downloadPdf
动作- 按名称获取 PDF 文档,作为参数传入。在这个例子中,我们将使用
'helloWorld'
.
- 按名称获取 PDF 文档,作为参数传入。在这个例子中,我们将使用
- 使用捆绑包中的类返回
Response
使用 PDF 内容创建的新文件。PdfResponse
- 使用捆绑包中的类返回
- 获取 PDF
twig
它使用引擎渲染视图。
- 获取服务(拆分为另一个功能
getPdfGenerator()
)。
- 获取服务(拆分为另一个功能
- 使用该服务
getOutputFromHtml()
,没有传入任何选项。
- 使用该服务
这是我的helloWorld.pdf.twig
:
这是生成的 PDF,完全符合预期:
3.带有页眉和页脚,失败!
所以我现在添加页眉和页脚。为此,我只需添加几个树枝,将 HTML 渲染成几个变量,然后将它们传递到 Pdf 渲染器的选项中:
除了包含的文本之外,页眉和页脚彼此相同:
这是我的header.pdf.twig
:
和footer.pdf.twig
:
哇!!!页脚被渲染,但页眉没有!
这就是我得到的:
图中需要注意:
- 标题中有“东西”。我可以看到页面内容的文本,例如“已剪辑”。
- 页脚没有完全呈现,因为它隐藏了所有底部边框线,并且文本基线与页面的底部边缘对齐。
Soooo,因此我的问题!
- 我应该怎么做才能让标题也被渲染?
- 不应该是我可以通过这个简单的设置看到 PDF 中呈现的标题吗?为什么不出现?
ubuntu - wkhtmltopdf 带有快速错误
所以我正在开发一个系统,我将html转换为pdf,我选择wkhtmltopdf有很多原因,所以当我使用xampp在windows上开发时,我有以下代码,它工作得非常完美
其余代码是通过 swiftmailer 发送作为附件制作的 pdf 文件,这非常有效。
但是当我将相同的文件发送到我的服务器时,我的服务器是一台 ubuntu 机器
现在的代码是这样的
但是当我使用它时会导致错误,它看起来像这样
symfony - 如何在 htmltopdf 中包含 chart.js 图表?
我正在使用 chart.js 在我的 html 页面中呈现图表。我使用 knpSnappyBundle 将 html 渲染为 pdf。但图表未呈现。我知道这是由于 js 延迟。但找不到确切的解决方案。任何建议都会有所帮助。谢谢!
symfony4 - Snappy Html 到 Pdf - Symfony 4 - 未加载 Css - Webpack Encore
我尝试使用这个包:
https://github.com/KnpLabs/KnpSnappyBundle
并使用 css 生成我的 html,现在当我尝试像这样加载 css 时,资产包已被 Symfony 4 dans 弃用:
它在控制器/视图上下文中工作,但当 ai 将 html 生成为 pdf 时,css 未加载:/
我想这是因为我的 app.js 有解释加载 app.scss 但我不知道如何解决这个问题。
提前谢谢
sonata-admin - SONATA 使用 knpSnappy 生成 pdf
我想将 PDF 导出集成到我的 SONATA ADMIN 应用程序中。为此,我安装了 KnpSnappy Bundle 和 SonataExporterBundle。我遵循了在谷歌上找到的旧教程,但最终它不起作用。
配置.yml:
服务.yml:
在我的 ModelAdmin 中,我添加了它:
我创建了 AppBundle/Export/Exporter.php:
错误:
你能告诉我我做错了什么吗?
symfony - KnpSnappyBundle 和 Symfony 3.4:图像和/或 css 导致超时
我已经在现有的 Symfony 3.4 项目上安装了 KnpSnappyBundle。我已经用只有文本、没有图像、没有 css、没有 js 的 HTML 树枝测试了 PDF 生成器:它工作正常。
然后我使用绝对 URL(我在本地主机上工作)添加(到树枝)图像和 Bootstrap.Css 文件:PDF 生成器显示一个丑陋的错误:
捆绑包有什么问题?我正在使用具有 8Gb RAM (ubuntu 16.04) 的 i7 笔记本电脑,我认为这不是机器配置的问题。
更新:我已经从命令行测试了 wkhtmltopdf 并且它确实转换了我的 twig :
所以 wkhtmltopdf 对 localhost 上的绝对 URL 没有任何问题!
谢谢
html - wkhtmltopdf thead 在第二页上重叠内容
这是我的 PDF 结果的样子(请参阅第二页上的重叠页眉):
该代码是一个简单的 HTML 表格,在一个 TD 元素中包含大量内容。
我知道已经存在这个问题(以及其他一些问题):
那里的解决方案对我有用:
但是,它仅适用于具有多行 (tr) 的表。
就我而言,正如您在上面看到的,我有一个 TD,其中的描述可以包含很多内容,因此一行将跨越多个页面。
是否也有针对这种特殊情况的解决方案?
symfony - KnpSnappyBundle 参数 process_timeout 在 Symfony 3.3 中不可更改
在 Symfony 3.3 项目中,我使用的是 KnpSnappyBundle。在https://github.com/KnpLabs/KnpSnappyBundle的文档中它说
您还可以使用 process_timeout 配置生成器使用的超时:
不幸的是,这似乎不起作用。环境
没有效果。超时保持在 60。非常感谢有关如何更改此参数的任何想法。
php - knp-snappy-bundle 有私人服务
从 Symfony 2.2 更新到 Symfony 3.4 后出现错误
编译容器时,“knp_snappy.pdf”服务或别名已被删除或内联。您应该将其公开,或者直接停止使用容器并改用依赖注入。
配置.yml
在控制器动作中:
如何knp_snappy.pdf
公开?