Hej
Czy da radę przy pomocy procesu OpenOffice wyeksportować z pliku xslt-fo do PDF? Robił tak ktoś ?
Hej
Czy da radę przy pomocy procesu OpenOffice wyeksportować z pliku xslt-fo do PDF? Robił tak ktoś ?
ale co chcesz wyeksportować? Zawartość czy wynik transformacji?
wynik transformacji, tak aby znaczniki formatujace xslt-fo zadziałały na tworzonym dokumencie pdf.
ale taką transformację to Ci internet explorer zrobi - do XMLa dodajesz linijkę <?xml-stylesheet type="text/xsl" href="nazwa_liku_xsl.xsl"?>
i jak sobie xmla otworzysz w przeglądarce to dostaniesz przetransformowanego. Teraz tylko to wydrukować do PDFa i tyle (nie wiem po co w ogóle mieszać w to OO)
Ok. Ale czy taka tansformata o której Ty mi opisujesz zadziała z znacznikami fo:* ? Bo wydaje mi się że nie. Właśnie dlatego tutaj chciałbym dodać opcje OO zeby mi z transformaty zrobił dokument PDF który uwzględnia znaczniki fo
np. tu masz działającą i darmową apkę, która generuje PDFa z XMLa i XSLa https://xmlgraphics.apache.org/fop/
Ok, dzieki za podpowiedz. Przetestowałem i fajnie to działa. Teraz takie pytanko... A jesli bym chciał udostepnic uzytkownikowi generowanie PDF przy pomocy transformaty xslt-fo, oraz po prostu wyswietlic wynik dla uzytkownika w postacji HTML. To musze tworzyc dwa oddzielne pliki xslt. Jeden zaiwerajacy xhtml, a drugi znaczniki xslt-fo ?
jeśli wynikiem jednego ma być pdf a drugiego html to musisz napisać drugiego xsla, który zamieni xmla na htmla (być może jest jakiś automat, który to zrobi za Ciebie)
BTW zobacz to
http://services.renderx.com/Content/tools/fo2html.html musisz się zarejestrować i "kupić" to XSL 1.0 to HTML Converter
To teraz pojawił sie problem z FOP. Nie generuje mi polskich znaków. Kojarzy ktos może jak to rozwiązać ?
chłopie skup się i spróbuj sam znaleźć rozwiązanie!! Nie pokazuje bo standardowe fonty nie mają pl znaczków. Trzeba dodać font i z niego korzystać. Wszystko masz opisane w FAQu FOPa.
przykładowy konfig
<?xml version="1.0"?>
<fop>
<renderers>
<renderer mime="application/pdf">
<fonts>
<!-- Arial -->
<font kerning="yes" embed-url="file:///c:/windows/fonts/arial.ttf" embedding-mode="subset">
<font-triplet name="Arial" style="normal" weight="normal" />
</font>
</fonts>
</renderer>
</renderers>
</fop>
zapisujesz jako cfg.xml
, w XSLu tam gdzie masz pl literki w tekście ustawiasz czcionkę font-family="Arial"
i odpalasz FOPa z parametrem -c cfg.xml
Tak widziałem to rozwiązanie, lecz ja używam biblioteki ApacheFop.Net i nie widze tam neistety mozliwosci przekazania pliku konfiguracyjnego uzytkownika.
To rownież juz widziałem, niestety namespacy nie pokrywaja mi się z moja dll która posiadam i nie moge odnalezc tam opcji przekazania konfiguracji uzytkownika.
Ok, jakos poszedlem do przodu, według przykładu
http://www.codeproject.com/Articles/86896/Generating-PDF-reports-using-nfop?msg=5143972#xx5143972xx
Natomiast wyskakuje mi komunikat "invalid fond metric file", moze powinienem wygenerować ta cała metryczke samemu ? pytanie tylko jak to zrobić ?