使用Symfony2.3.4
我使用此捆绑包生成PDF文档:SpraedPDFGeneratorBundle这是它的主要php类(我认为):PDFGenerator.php
我设法生成它们就好了,但我不知道如何设置fontPath参数来生成包含一些图像的css修改过的PDF。 这里:
///XController.php
$pdfGenerator = $this->get('spraed.pdf.generator');
$pdf = $pdfGenerator->generatePDF($postData/* ,
'UTF-8', array(<SOME_PATH_I_GUESS>) */);
第一个参数是要输出到PDF的html数据,第二个我有点猜对了,但我不确定,第三个是fontPath。
图像的东西也是我喜欢的提示......
有没有人曾经使用过这个捆绑包或类似的东西;如果是的话,请你帮帮我吗?
答案 0 :(得分:5)
好吧,我找到了答案。
您要问两件事:如何添加图片和如何添加新字体。
这很简单。假设您正在使用Twig,则需要执行以下操作:
<img src="{{ app.request.scheme ~'://' ~ app.request.httpHost ~ asset("img/MyImage.png") }}" />
当然你也可以把它变成一个宏,所以你不要在这个地方重复自己,就像这样。
{% macro image(uri) %}
{{ app.request.scheme ~'://' ~ app.request.httpHost ~ asset(uri) }}
{% endmacro %}
你就像这样使用它
{% import '::imgurimacro.html.twig' as img %}
...
<img src="{{ img.image('img/MyImage.png') }}" />
它应该有用。
这个有点复杂。首先确保您拥有最新的Spraed PDF Generator版本。在composer.json中:
"spraed/pdf-generator-bundle": "dev-master"
每当您必须将字体添加到新PDF时,请执行以下操作:
$pdf = $pdfGenerator->generatePDF($postData , 'UTF-8', array('C:\Windows\Fonts\Font1.ttf', 'C:\Windows\Fonts\Font2.ttf'));
接下来,在fonts
文件夹中(或者您放置资源的任何位置)创建一个web
文件夹(或您选择的任何名称),然后在其中添加.ttf文件。< / p>
在Twig文件中,将以下内容添加为CSS样式:
@font-face {
font-family: "MyFontFamily";
src: {{ app.request.scheme ~'://' ~ app.request.httpHost ~ asset('fonts/Font1.ttf') }};
}
现在每当你写
<p style="font-family: MyFontFamily">Hello World!</p>
它应该打印&#34; Hello World!&#34;使用pdf中的注册字体。