![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 4.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Musze zrobic w php transormacje xml i xsl przez fo w pdf,txt i html.
Zainstalowalem java_bridge i niby dziala bo kod:
zwraca mi to co powinnien. Problem zaczyna sie gdy taki kod JAVY chce przelozyc na php Kod import java.io.*; import javax.xml.transform.*; import javax.xml.transform.sax.*; import javax.xml.transform.stream.*; import org.apache.fop.apps.*; public class RunFOP { public static void main(String[] args) { try{ Driver drv= new Driver(); drv.setRenderer(Driver.RENDER_PDF); drv.setOutputStream(new FileOutputStream("out.pdf")); Result foInput= new SAXResult(drv.getContentHandler()); Source srcXML=new StreamSource("file.xml"); Source srcXSL=new StreamSource("file.xsl"); TransformerFactory tf=TransformerFactory.newInstance(); Transformer t=tf.newTransformer(srcXSL); t.transform(srcXML,foInput); }catch(Exception e){} } } W javie to mi dziala lecz gdy probuje zinstancjowac klase driver w php w ten sposob:
mowi ze: Kod Fatal error: Uncaught java.lang.Exception: CreateInstance failed: new org.apache.fop.apps.Driver. Cause: java.lang.ClassNotFoundException: org.apache.fop.apps.Driver not found: [] thrown in d:\tests\fo.php on line 32 wiec ja na to wzialem to w blok try catch w ten sposob
a skrypt wchodzi mi za kazdym razem w catch i nawet rozsadnego bledu nie pokaze ![]() efekt var_dump($e) to: Kod object(javaexception)#3 (7) { ["message:protected"]=> string(0) "" ["string:private"]=> string(0) "" ["code:protected"]=> int(0) ["file:protected"]=> string(63) "d:\tests\fo.php" ["line:protected"]=> int(32) ["trace:private"]=> array(1) { [0]=> array(6) { ["file"]=> string(63) "d:\tests\fo.php" ["line"]=> int(32) ["function"]=> string(4) "java" ["class"]=> string(4) "java" ["type"]=> string(2) "->" ["args"]=> array(1) { [0]=> string(26) "org.apache.fop.apps.Driver" } } } [0]=> int(2) } i nie wiem co mam zrobic ![]() ![]() juz mi rece opadaja bo nie wiem co mam zrobic? dodam ze importuje *.jar w kodzie php poprzez dodanie ich do java.class.path a na stronie java_bridge w przykladach uzywaja funkcji java_require("C:/lib.jar"); lecz jesli probuje ja wywolac to mowi mie ze nie ma takiej funkcji a wyzej podany przyklad javy w php pierwszy ktory podalem dziala ? wiec java_bridge niby funkcjonuje ma ktos jakies pomysly? |
|
|
![]() |
![]()
Post
#2
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
A czy nie możesz zrobić poprostu system('fop.bat') ?
![]() -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 4.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
pierwszy problem rozwiazany...biblioteki tza do -> (java.ext.dirs) ale drugi mam:
Jak miec dostep do statycznej metody obiektu kotrego konstruktor jest protected ? w javie wyglada to tak: Kod TransformarFactory tf=TransformarFactory.newInstance(); ... a w php powinno tak:
problem w tym ze construktor TransformerFactory jest protected a instancje objektu mozna stworzyc jedynie poprzez statyczna metode newInstance() a w php jesli nie stworze objektu to niebede mial dostepu do statycznych metod ![]() ![]() blad jaki mi wywala to: Kod java.lang.Exception: Invoke failed: [class javax.xml.transform.TransformerFactory]->newInstance. Cause: java.lang.IllegalAccessException: Class php.java.bridge.JavaBridge can not access a member of class javax.xml.transform.TransformerFactory with modifiers "protected" jakies pomysly? Ten post edytował evo 13.05.2005, 22:42:31 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
Nie znam się w ogóle na java bridge, ale mój pomysł jest taki: stwórz sobie w javie malutką klasę:
Kod public class TransformerFactoryFactory { public TransformerFactory createFactory() { return TransformarFactory.newInstance(); } } ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 4.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
nie moge....lol........siedze od ponad godziny i kombinuje w tym php co tu wymysles ...a o rozwiazaniu w javie nawet nie pomyslalem..lol...
Dzieki ![]() Pozdrawiam evo |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 23:31 |