Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正在生成的PDF中显示细枝链接_Php_Symfony_Twig_Wkhtmltopdf - Fatal编程技术网

Php 正在生成的PDF中显示细枝链接

Php 正在生成的PDF中显示细枝链接,php,symfony,twig,wkhtmltopdf,Php,Symfony,Twig,Wkhtmltopdf,EDIT:如果您使用的是引导,那么很可能就是这个问题的原因。阅读。 我正在尝试使用生成树枝模板的PDF 问题是生成的PDF除了显示所有链接的链接文本外,还显示了实际链接,如下图所示: wkhtmltopdf中是否有此选项?我已经使用wkhtmltopdf-H查看了选项,禁用外部链接和禁用内部链接都不能解决这个问题 下面是我用来生成PDF的代码: $this->get('knp_snappy.pdf')->generateFromHtml( $this->rend

EDIT:如果您使用的是引导,那么很可能就是这个问题的原因。阅读。

我正在尝试使用生成树枝模板的PDF

问题是生成的PDF除了显示所有链接的链接文本外,还显示了实际链接,如下图所示:

wkhtmltopdf中是否有此选项?我已经使用
wkhtmltopdf-H
查看了选项,
禁用外部链接
禁用内部链接
都不能解决这个问题

下面是我用来生成PDF的代码:

$this->get('knp_snappy.pdf')->generateFromHtml(
        $this->renderView(
            $template,
            array(
                $key => $array
            )
        ),
        $this->container->getParameter("upload_dir") . '/' . $file,
        array(
            "print-media-type" => true,
            "disable-external-links" => true,
            "disable-internal-links" => true
        )
    );
以及HTML:

<a href="{{ path('work_descriptions') }}#{{ value.descriptionId }}" target="_blank" class="work-link"><strong><u>{{ title }}</u></strong></a>

是的,我知道
{{title}}
值不包括实际的链接,因为当我在链接标记之外使用它时,PDF会很好地显示它

我正在尽我最大的努力避免黑客的解决方案,但我不确定问题出在哪里


更新:无论是否使用twig变量,问题都会发生。

我最后做的是添加另一个变量发送到模板,让它知道模板何时将用于PDF,然后在检查变量是否已定义后运行适当的JavaScript删除链接

在PDF生成操作中:

$this->get('knp_snappy.pdf')->generateFromHtml(
            $this->renderView(
                "my-template.html.twig",
                array(
                    "templateData" => array(
                        "data" => $session->get("templateData"),
                        "pdf" => true //<--------- Check this variable in template
                    )
                ),
            ),
            $this->container->getParameter("upload_dir") . '/' . $file,
            array(
                "print-media-type" => true,
                "disable-external-links" => true,
                "disable-internal-links" => true
            )
);
$this->get('knp_snappy.pdf')->generateFromHtml(
$this->renderView(
“我的模板.html.twig”,
排列(
“templateData”=>数组(
“数据”=>$session->get(“templateData”),
“pdf”=>true//container->getParameter(“上载目录”)。/。$file,
排列(
“打印媒体类型”=>true,
“禁用外部链接”=>true,
“禁用内部链接”=>true
)
);
细枝:

{% if templateData.pdf is defined %}
   <script>
      $(".work-link").each(function()
      {
         $(this).prop("href", "#");
      });
   </script>
{% endif %}
{%如果定义了templateData.pdf%}
$(“.work link”)。每个(函数()
{
$(this.prop(“href”,“#”);
});
{%endif%}

这似乎暂时还可以使用。

如果不禁用内部/外部链接会发生什么?禁用外部/内部链接选项唯一能做的就是删除PDF中的链接,不幸的是,文本在任何情况下都保持不变。我以前遇到过这个问题,我记不起问题是什么。不是你在文档中提供的链接是否有效?是的,也没有得到任何HTML验证错误。绝对URL也没有区别。