2014-05-03 3 views
7

Symfony2.3.4सीएसएस और छवियाँ

का उपयोग करते हुए मैं इस बंडल के साथ पीडीएफ डॉक्स पैदा कर रहा हूँ के साथ पीडीएफ उत्पन्न करें: SpraedPDFGeneratorBundle और इस अपने मुख्य php वर्ग है (मुझे लगता है कि): PDFGenerator.php

मैं उन्हें उत्पन्न करने में कामयाब बस ठीक है, लेकिन मुझे नहीं पता कि इसमें कुछ छवियों के साथ एक सीएसएस-संशोधित पीडीएफ उत्पन्न करने के लिए फ़ॉन्टपैथ पैरामीटर कैसे सेट करें। यहाँ:

///XController.php 
$pdfGenerator = $this->get('spraed.pdf.generator'); 
$pdf = $pdfGenerator->generatePDF($postData/* , 
'UTF-8', array(<SOME_PATH_I_GUESS>) */); 

पहले परम है एचटीएमएल डेटा पीडीएफ करने के लिए उत्पादन हो सकता है, दूसरा एक मैं थोड़े यह अनुमान लगाया लेकिन मुझे यकीन नहीं कर रहा हूँ और तीसरे FontPath है।

छवि बात भी कुछ मैं के बारे में सुझाव दिए गए सराहना करेंगे है ...

है क्या कभी किसी ने इस बंडल या ऐसा कुछ के साथ काम किया; यदि हाँ क्या आप कृपया मेरी मदद कर सकते हैं?

उत्तर

5

ठीक है मुझे जवाब मिला। छवियों और कैसे नए फोंट जोड़ने के लिए शामिल करने का तरीका:

आप दो बातें कह रहे हैं।

छवियां

यह बहुत आसान है। आप टहनी का उपयोग कर रहे मानते हुए, आपको निम्न कार्य करने की आवश्यकता होगी:

<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') }}" /> 

की तरह उपयोग करें और यह काम करना चाहिए।

फ़ॉन्ट्स

यह एक और अधिक जटिल है। सबसे पहले सुनिश्चित करें कि आपके पास नवीनतम स्प्रेड पीडीएफ जेनरेटर संस्करण है। composer.json में:

"spraed/pdf-generator-bundle": "dev-master" 

जब भी आप अपने नए पीडीएफ करने के लिए फोंट जोड़ना होगा निम्न करें:

$pdf = $pdfGenerator->generatePDF($postData , 'UTF-8', array('C:\Windows\Fonts\Font1.ttf', 'C:\Windows\Fonts\Font2.ttf')); 

इसके बाद, में एक fonts फ़ोल्डर (या अपनी पसंद के किसी भी नाम) बना web फ़ोल्डर (या जहां भी आप अपनी संपत्ति डाल रहे हैं) और वहां .ttf फ़ाइलों को जोड़ें।

अपने टहनी फ़ाइल में, एक सीएसएस शैली के रूप में निम्नलिखित जोड़ें: "नमस्ते विश्व"

@font-face { 
    font-family: "MyFontFamily"; 
    src: {{ app.request.scheme ~'://' ~ app.request.httpHost ~ asset('fonts/Font1.ttf') }}; 
} 

अब जब भी आप लिखते हैं

<p style="font-family: MyFontFamily">Hello World!</p> 

यह प्रिंट चाहिए पीडीएफ में पंजीकृत फ़ॉन्ट का उपयोग कर।

संबंधित मुद्दे