2011-01-24 18 views
5

Bizim Ev İçi Java uygulaması web sayfaları, MS Word belgeleri, MS Excel belgeleri, PDF dosyaları vb URL'ler dahil, çeşitli zamanlarda çeşitli http URL'sini başlattı . OnAdobe Acrobat java BasicService.showDocument() çağrısına her URL'yi müdahale

makineleri 50+ üzerinde URL fırlatma çalışıyor ve doğru uygulama düzgün verilen sayfa/belge açar.

Bu belge açılırken hata

vardı: Ancak, bir sinir bozucu makinede Adobe Acrobat (bakılmaksızın hedef pdf olup olmadığı veya olmasın) her URL açmak için çalışıyor ve birlikte (hatta pdf belgeler üzerinde) başarısız . Dosya adı, dizin adı veya birim etiketi sözdizimi yanlış. URL'ler başlatmak için

kodudur:

URL url = new URL("http://www.example.com"); 
BasicService bs = (BasicService)ServiceManager.lookup("javax.jnlp.BasicService"); 
boolean worked = bs.showDocument(url); 

worked değişken çağrısından sonra geçerlidir. yararlı olabilir

Diğer noktalar:

  • uygulama Java Web Başlat içinde çalışır.
  • Aynı makinede çalışan bir uygulama, URL'leri doğru şekilde kullanarak URL'leri doğru şekilde açabilir AppletContext.showDocument()
  • Windows "Çalıştır ..." iletişim kutusuna bir URL girme, URL'yi doğru olarak başlatır.
  • Biz JRE ve Adobe Acrobat hem yeniden ettik. Herhangi bir tavsiye için şimdiden

Teşekkür/sen sunabilir yardımcı olur.

Güncelleme:

aşağıdaki ayıklama kodu şu çıktıyı üretir:

String[] services = ServiceManager.getServiceNames(); 
    if(services!=null) { 
     for(int i=0;i<services.length;i++) { 
     System.out.println("Available Service: "+services[i]); 
     } 
    } 

    BasicService bs = (BasicService)ServiceManager.lookup("javax.jnlp.BasicService"); 
    System.out.println(url); 
    System.out.println(bs); 
    System.out.println("bs.getCodeBase():"+bs.getCodeBase()); 
    System.out.println("bs.isOffline():"+bs.isOffline()); 
    System.out.println("bs.isWebBrowserSupported():"+bs.isWebBrowserSupported()); 
    boolean worked = bs.showDocument(url); 
    System.out.println("bs.showDocument:"+worked); 
    } catch(UnavailableServiceException ue) { 
    System.out.println("UnavailableServiceException thrown"); 
    ue.printStackTrace(); 
    } 


Available Service: javax.jnlp.BasicService 
Available Service: javax.jnlp.FileOpenService 
Available Service: javax.jnlp.FileSaveService 
Available Service: javax.jnlp.DownloadService 
Available Service: javax.jnlp.ClipboardService 
Available Service: javax.jnlp.PersistenceService 
Available Service: javax.jnlp.PrintService 
Available Service: javax.jnlp.ExtendedService 
Available Service: javax.jnlp.SingleInstanceService 
http://<snip> 
[email protected] 
bs.getCodeBase():http://xxx.xxxxxx.com:8080/ 
bs.isOffline():false 
bs.isWebBrowserSupported():true 
bs.showDocument:true 

cevap

1

Henüz bu sorunu çözülür mü? Değilse, aşağıdakileri deneyebilir misiniz?

FileOpenService fos = (FileOpenService)ServiceManager.lookup("javax.jnlp.FileOpenService"); 
+0

teşekkürler. Yukarıdaki orijinal gönderiyi düzenledim ... FileOpenService'in varmış gibi görünüyor ...? – cagcowboy

İlgili konular