问题标签 [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 投票
0 回答
253 浏览

wkhtmltopdf - 如何修复 wkhtmltopdf 中的 SVG 颜色渐变渲染

问题

当我将标准 SVG 放入 wkhtmltopdf 时,它呈现精美,就像在浏览器中一样。

但是,当我向 SVG 添加颜色渐变时(例如使用<linearGradient/>),它会沿着形状的边缘创建一条非常不稳定和像素化的线,使其无法使用。

我尝试过更改 DPI、缩放等选项……但这些与问题无关。

输出比较

标准 SVG:

在此处输入图像描述

有问题的颜色渐变 SVG: 在此处输入图像描述

SVG 比较

标准 SVG:

有问题的颜色渐变 SVG:

重要提示:该问题与 SVG 元素上的属性(例如宽度、高度、视图框或任何 CSS)没有任何关系。

此外,SVG 被直接注入到 HTML 中。我尝试将它放在一个<img/>(作为 src 链接和作为 base 64 编码的 src)中,但无济于事。

0 投票
1 回答
478 浏览

php - wkhtmltopdf 缩小 css 尺寸

我遇到了与Symfony 4.4.5 上 knp Snappy Bundle 的最新更新类似的问题。

我设置了以下选项,但它们无助于修复错误。

注意:更改'disable-smart-shrinking''enable-smart-shrinking'不会改变任何内容。添加该zoom选项也不会改变任何内容。

我已经检查了这些选项是否确实有效,并且我可以确认它们确实有效。例如,我更改'Portrait''Landscape',这确实导致了横向文档。

这是显示该问题的测试文档:

在此处输入图像描述

蓝色框是 snappy 包生成的 PDF。它的正确尺寸为210mm x 297mm,红色边框框是 div 的结果,其 CSS 尺寸为210mm x 297mm。显然有什么不对劲。

如何解决这个问题?

0 投票
1 回答
395 浏览

snappy - Laravel Snappy:多余的页面

在我们的应用程序中,我们为导出 pdf 实现了 laravel snappy。一切都很好(我设法导出,获取所有值),除了我有一个多余的空白页。

控制器

问题:为什么我有一个多余的空白页?

0 投票
1 回答
445 浏览

laravel - 如果导入外部内容,Laravel Snappy PDF 会从视图生成 PDF

当您只有简单的 HTML 代码且无需导入任何内容时,可以从刀片视图轻松生成简单的 PDF。

但是,如果我将href属性添加到外部位置,则 snappyPDF 根本不起作用。

我正在使用 Laravel 8 Jestream。

这是我的刀片文件的一部分:

据我所知,问题出现在我添加src="https external"url(https//external) 尝试通过 Snappy 生成 PDF 时,无法生成 pdf。

我该如何解决?为了使 Snappy PDF 正常工作,我缺少什么?

0 投票
1 回答
209 浏览

codeigniter - 二进制文件未在 codeigniter 中的 wkhtmltopdf 的 snappy 包装器中设置

如何将 snappy 库与 codeigniter 一起使用。

  1. 我已经安装并将它放在我的库文件夹中。喜欢

    需要一次目录名(文件)。'/snappy/vendor/autoload.php'; 使用 Knp\Snappy\Pdf;

2)然后在控制器中我通过函数 __construct() 加载它

  1. 在我的一个控制器中,我将二进制设置为

    $snappy = new wkhtmltopdf(""C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe"");

试试看 4)

但下面的错误来了。

但它抛出了一个错误。类型:逻辑异常

消息:您必须在转换之前定义一个二进制文件。

文件名:C:\xampp\htdocs\reporting-new-icn-huge-changes\application\libraries\snappy\vendor\knplabs\knp-snappy\src\Knp\Snappy\AbstractGenerator.php

任何人通过任何方法在 codeignter 中实现 wkhtmltopdf 都会非常有帮助。

0 投票
1 回答
335 浏览

php - wkhtmltopdf 不会显示 jpg 图像

我对 wkhtmltopdf 有点问题。它不会显示 jpg 图像,但可以与 png 图像完美配合。我尝试将图像转换为 base64 并将它们直接插入到我的 html 中。当我渲染 html 时它可以工作,但是当我将 html 文件传递​​给 wkhtmltopdf 时它不会。

当我执行命令并且顺利生成 PDF 时,我没有收到任何错误,它只是缺少图像。

我在 Debian 9 Stretch 上使用 wkhtmltopdf 0.12.3.2。

有没有人有同样的问题?

0 投票
1 回答
176 浏览

php - 如何使用 Knp Snappy 包设置 pdf 的页面大小

我有一个代码,用于使用带有 Symfony2 的 KNP Snappy 捆绑软件生成 PDF。这是它的样子:

我的问题是,我想设置页边距并将页面大小从 A4 更改为 A1。我找到了很多示例,但每次尝试时,似乎 pdf 不再生成。我怎样才能解决这个问题并让它发挥作用。

在此先感谢您的帮助。

0 投票
0 回答
123 浏览

symfony5 - KnpLabs/KnpSnappyBundle:HostNotFoundError (Symfony 5)

自从我在 Symfony 2.4 中使用 KnpSnappy Bundle 后,在从 TWIG 模板生成 PDF 文档时,我时断时续地收到此错误(大约 100 次中有 1 次):

错误:加载页面失败 http:///tmp/knp_snappy60e2d0595a68f7.77730153.html (有时它可以通过 --load-error-handling ignore 忽略此错误)由于网络错误退出代码 1:HostNotFoundError

你看,它试图从 http:///tmp/knp_snappy..... 检索缓存的 html 文件,而不仅仅是 /tmp/knp_snappy....

这个错误一直伴随着我通过 Symfony 3、Symfony 4 和现在的 Symfony 5。我不知道如何解决这个问题。我已经通过配置中的“temporary_folder”设置更改了缓存文件夹。然后,这会更改“/tmp”部分,但仍会添加导致 HostNotFoundError 的 http:// 部分。

我在我的项目目录中使用位于“vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64”下的 WKHTMLTOPDF 二进制文件。

我的 PDF 正在从我的控制器生成以供下载。例子:

0 投票
0 回答
34 浏览

symfony - 使用 knpsnappypdf 显示存储在公用文件夹之外的图像

我需要在 pdf 文档中显示图像,但我的图像存储在公用文件夹之外。

我做了一个特定的动作来显示我的图像,它在前面工作正常,但我不能在我的 pdf 中显示我的图像。

我的行动:

我的 html(树枝模板):

第一个 url() 用于调试目的。打印在我的 pdf 上的 url 是有效的,如果我将其粘贴到浏览器中,则会显示我的图像,所以我担心我的问题在于某些特定的 wkhtmltopdf 设置。也许我在控制器中缺少一些响应头。

我正在使用 symfony 5.3、wkhtmltopdf 0.12.6 和修补过的 qt

0 投票
2 回答
291 浏览

php - 图像未在 PDF 中显示(barryvdh/laravel-snappy 包)

我在 Laravel 框架中使用barryvdh/laravel-snappy包将 html 文件转换为 PDF。

它工作正常,但未显示 PDF 中的图像

html中使用的图像路径如下:

https://easydmc-staging2.s3.ap-south-1.amazonaws.com/ImagesSightseeing/2021/03/1PeocnxOb3gqlZmMSjwXDWwLiEfyq0a8KX5M4OOw.jpeg

这是html的链接:

https://staging.easydmc.com/test?html=true

生成的 PDF 的链接是:

https://staging.easydmc.com/test?html=false

早些时候,图像在 PDF 中运行良好。几天前,我执行了命令 - sudo apt upgrade。我不知道这是否导致了问题。

我尝试重新安装包barryvdh/laravel-snappy,但没有成功。

任何帮助,将不胜感激。

PHP版本:8.0

服务器:Nginx

Laravel:8.51.0