Portál AbcLinuxu, 30. května 2024 19:45


Dotaz: Vytištění xml s xslt v linuxu

18.6.2020 11:41 majales | skóre: 29 | blog: Majales
Vytištění xml s xslt v linuxu
Přečteno: 429×
Odpovědět | Admin
Zdravím,

řeším nějakou automatizaci reportů a potřeboval bych v linux konzoli vytisknout xml dokument s xslt formátem do pdfka. Doposavad jsem to otvíral v prohlížeči a tisknul do dpf po nastavení formátu stránky. Našel jsem něco ohledně xml2pdf, ale to nedaří mezi balíky najít. Neměl by někdo nějaký tip jak to vyřešit?

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

18.6.2020 12:48 z_sk | skóre: 34 | blog: analyzy
Rozbalit Rozbalit vše Re: Vytištění xml s xslt v linuxu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nechces radsej pouzit wkhtmltopdf?
debian.plus@protonmail.com
18.6.2020 14:27 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Vytištění xml s xslt v linuxu
Odpovědět | | Sbalit | Link | Blokovat | Admin
V jaké verzi XSLT je ta šablona? Co z toho leze po aplikaci XSLT?
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
18.6.2020 16:23 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Vytištění xml s xslt v linuxu
Tohle má to xslt v hlavičce.
<\?xml version="1.0" encoding="ISO-8859-1"?>
<\xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <\xsl:output method="html" />
xslt jsem zatím nezkoušel.
18.6.2020 20:36 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Vytištění xml s xslt v linuxu
Tohle je XSLT 1.0, na který používám
xsltproc sablona.xsl data.xml
Výstupem je HTML, které se dá převést na PDF.
html2ps data.html > data.ps
ps2pdf yourfile.ps
V jedné koloně by to mohlo vypadat asi takto:
xsltproc sablona.xsl data.xml |
    html2ps |
    ps2pdf - output.pdf
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Řešení 1× (majales (tazatel))
20.6.2020 15:50 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Vytištění xml s xslt v linuxu
Nakonec jsem skončil u wkhtmltopdf, které sice nemůžu použit v pipe, takže nejdřív vyrobím pomocí xsltproc html a pak ho vytisknu pomocí wkhtmltopdf do pdf.

html2ps mi dávalo podivné výstupy, nefungovalo mi UTF-8, barvy ani obracení stránek na Landscape.
Josef Kufner avatar 18.6.2020 14:35 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Vytištění xml s xslt v linuxu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Můžeš spustit prohlížeč v headless režimu a nechat ho to vytisknout.
Hello world ! Segmentation fault (core dumped)
18.6.2020 16:24 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Vytištění xml s xslt v linuxu
Není to trochu overkill? Já hledám cestu jak to automatizovat, ale tohle mi přijde moc..
Josef Kufner avatar 18.6.2020 19:08 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Vytištění xml s xslt v linuxu
A co jiného bys chtěl použít? Ten nástroj musí umět XML, XSLT, pak pro vykreslení HTML, CSS, JS, vykreslit obrázky a nakonec export do PDF. Tedy v podstatě všechno, co dělá browser bez GUI. Pokud by jsi se spokojil s HTML výstupem, tak ti stačí mnohem jednodušší nástroj, ale pokud jde o vykreslení, tak máš smůlu.
Hello world ! Segmentation fault (core dumped)
20.6.2020 20:39 camel
Rozbalit Rozbalit vše Re: Vytištění xml s xslt v linuxu
Odpovědět | | Sbalit | Link | Blokovat | Admin
A proč nepoužít XSL processor a primo generovat PDF? Pouzivam uZ léta FOP a funguje v pohodě...

https://xmlgraphics.apache.org/fop/
20.6.2020 23:44 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Vytištění xml s xslt v linuxu
Umí to i z HTML nebo si bude muset napsat novou šablonu?
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
23.6.2020 23:31 camel1cz | skóre: 25
Rozbalit Rozbalit vše Re: Vytištění xml s xslt v linuxu
Šablona nijak speciální není. Znám akorát fop a ten umí jakoukoliv šablonu renderovat do PDF - zásek může být akorát v kompatibilitě té šablony. Je to sice standard, ale víme, jak to chodí...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.