如何使用 Knp Snappy bundle 设置 pdf 的页面大小

How to set page sizing of pdf with Knp Snappy bundle

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

     $this->container->get('knp_snappy.pdf')->generateFromHtml(
          $this->templating->render(
             $twigInclude,
             array( ,
                 'htmlFiles' => $htmlFiles,
                 'headlines' => $headlines,
             )
         ),
         $folderHistory . '/reports/' . $filename . '.pdf'
     );

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

在此先感谢您的帮助。

您可以在选项中设置几个标志:

$options = [
  'page-size' => 'A1',
  'margin-top' => 10,
  'margin-right' => 10,
  'margin-bottom' => 10,
  'margin-left' => 10,
];

$this->container->get('knp_snappy.pdf')->generateFromHtml(
  $this->templating->render(
    $twigInclude,
    [
      'htmlFiles' => $htmlFiles,
      'headlines' => $headlines,
    ]
  ),
  $folderHistory . '/reports/' . $filename . '.pdf',
  $options,
  true // this flag will overwrite existing file
);