gpt4 book ai didi

html - 在 Symfony 中调整 PDF 大小

转载 作者:行者123 更新时间:2023-11-28 03:23:44 29 4
gpt4 key购买 nike

我正在创建一个可以制作名片的应用程序。对于每种卡片设计(公司会有一些变化),我使用的是带有该设计名称的 TWIG 模板。然后使用 KnpSnappyBundle (https://github.com/KnpLabs/KnpSnappyBundle) 将呈现的 TWIG HTML 代码更改为 PDF,并将副本保存到数据库中。

我遇到的问题是,在将完整尺寸发送到打印机(自动通过电子邮件发送给他们)之前,我们需要让用户看到草稿,但我无法调整大小。

我试过:

$html = $this->renderView('templates/test1.html.twig');
$snappy = $this->get('knp_snappy.pdf');
$snappy->setOption('page-height', 55);
$snappy->setOption('page-width', 90);
$code = $snappy->getOutputFromHtml($html);

return new Response($code,
200,
array(
'Content-Type' => 'application/pdf',
'Content-Disposition' => 'inline; filename="out.pdf"'
)
);

在controller中,然后改变了page-height和page-width。在我的模板中:

<html>
<head>
<title>test</title>
<style>
body, html {
width: 567px;
height: 360px;
}
h1 {
font-size: 100px;
}
</style>
</head>
<body>
<h1>test</h1>
</body>
</html>

问题是,当我做草稿时,它需要看起来与完整尺寸的一样,只是文件不会太大并且很容易适合屏幕。但是,当我更改大小时,它只是将相同大小的内容(字体等)拆分到多个页面上。

如何调整整个 pdf 的大小以制作草稿副本?

最佳答案

您可以为 wkhtmltopdf 使用不同的参数。例如:

./wkhtmltopdf -d 300 -L 0mm -R 0mm -T 0mm -B 0mm --page-width 88mm --page-height 56mm http://habrahabr.ru out.pdf

您可以在 knp_snappy_bundle 的配置中将这些命令设置为选项:

knp_snappy:
pdf:
enabled: true
binary: /usr/local/bin/wkhtmltopdf #"\"C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe\"" for Windows users
options: []
image:
enabled: true
binary: /usr/local/bin/wkhtmltoimage #"\"C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltoimage.exe\"" for Windows users
options: []

查看 https://wkhtmltopdf.org/usage/wkhtmltopdf.txt 的文档

关于html - 在 Symfony 中调整 PDF 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45094191/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com