Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: ZAJDAN 20. 08. 2015, 17:02:15

Název: PHP knihovna mPDF - použití SVG
Přispěvatel: ZAJDAN 20. 08. 2015, 17:02:15
Ahoj,
čelím problému...v php kodu používám knihovnu na generovani PDF...konkretně mPDF
v ní se snažím do PDF dostat SVG neobvyklím způsobem.
zachycení SVG jako string
Kód: [Vybrat]
$svg = $_POST['structureSVG'];
$svg_pdf = str_replace('"', '\'', $svg); //change " to '
kontrola co se dostane do proměné:
Kód: [Vybrat]
var_dump($svg_pdf);
                                //vypíše string obsahující xml(svg)
<svg>...</svg>
tedy mohu si byt jistý že jsem zachytil co jsem chtěl a správně. Nyní tuto proměnou insertnu do kódu, který bude zpracován mPDF:
Kód: [Vybrat]
$html = " <div> $svg_pdf </div> ";
$mpdf -> WriteHTML($html);
$mpdf -> Output('pdf/test_svg.pdf', 'I');

bohužel tímto způsobem se mi nedaří svg vyrenderovat do PDF
chtěl jsem se zaregistrovat na foru mPDF, ale registrace se mi nepodařila ani s několika různých emailů

díky za jakoukoliv pomoc
Název: Re:PHP knihovna mPDF - použití SVG
Přispěvatel: Ondrej Nemecek 20. 08. 2015, 19:53:39
Ahoj,
čelím problému...v php kodu používám knihovnu na generovani PDF...konkretně mPDF
v ní se snažím do PDF dostat SVG neobvyklím způsobem.
zachycení SVG jako string
Kód: [Vybrat]
$svg = $_POST['structureSVG'];
$svg_pdf = str_replace('"', '\'', $svg); //change " to '
kontrola co se dostane do proměné:
Kód: [Vybrat]
var_dump($svg_pdf);
                                //vypíše string obsahující xml(svg)
<svg>...</svg>
tedy mohu si byt jistý že jsem zachytil co jsem chtěl a správně. Nyní tuto proměnou insertnu do kódu, který bude zpracován mPDF:
Kód: [Vybrat]
$html = " <div> $svg_pdf </div> ";
$mpdf -> WriteHTML($html);
$mpdf -> Output('pdf/test_svg.pdf', 'I');

bohužel tímto způsobem se mi nedaří svg vyrenderovat do PDF
chtěl jsem se zaregistrovat na foru mPDF, ale registrace se mi nepodařila ani s několika různých emailů

díky za jakoukoliv pomoc

Knihovna mPDF není žádný zázrak, opravdu umí embedded svg? Píše se tam, že umí „SVG images“, ale to může taky znamenat, že umí svg vložené jako <img>. Zkuste tuto variantu, pokud můžete. A pokud byste to svg navíc styloval pomocí css, může být problém i tam.

Pokud byste to s mPDF nerozběhal, můžete zauvažovat, zda by problém s generováním pdf nevyřešil lépe PhantomJS. Uděláte běžnou html stránku a WebKit vám z ní vyplyvne pdf. Imho je to mnohem snažšší na ladění (ladíte ve WebKit prohlížeči), vyžaduje to ovšem instalaci na server.
Název: Re:PHP knihovna mPDF - použití SVG
Přispěvatel: ZAJDAN 20. 08. 2015, 21:37:08
ano.....mPDF umi embed SVG:
http://mpdf1.com/manual/index.php?tid=245
mPDF partially supports SVG images, including as embedded HTML e.g.:
osobně jsem to zkoušel a funguje to....
jenže já mám specialní případ...já dopředu nevím jak to svg bude vypadat...ja ho získám ze strany klienta(ajax) a zachytím až v PHP
ten phantom JS by mi v tom pomohl?