2008-09-26 3 views

Répondre

1

j-Interop est un pont Java-COM: j-Interop. Il est écrit en Java pur et sous licence LGPL v3. Il utilise le protocole de connexion DCOM pour appeler les objets COM, contrairement à l'approche JNI utilisée par JACOB.

2

peut-être vous devriez jeter un oeil à http://qctools4j.sourceforge.net/ c'est une bibliothèque java utilisée par qclylyn (http://sourceforge.net/apps/mediawiki/qcmylyn/index.php?title=Main_Page) pour récupérer des défauts de QC.

malheureusement le pont COM ne fonctionne pas pour linux comme il charge jacob DLLs

1

Vous pouvez utiliser l'outil J-Integra COM2JAVA. L'outil com2java génère des classes et des interfaces «proxy» Java qui correspondent aux coclasses et aux interfaces contenues dans une bibliothèque de types COM. Il génère effectivement une API Java que vous pouvez utiliser pour accéder à un composant COM à partir de Java. Après une comparaison de tout ce qui précède, aucun n'a été totalement satisfaisant

2

la solution la plus complète est en https://github.com/java-native-access/jna

maintenant.

Il soutient,

  • l'interface se rendre à un objet COM en cours d'exécution
  • à partir d'un nouvel objet COM et le retour de son interface
  • appelant les méthodes COM et les résultats de retour
  • manutention en option thread COM séparé
  • ComEventCallbacks
  • RunninObjectTable requêtes
  • utilisation lowlevel COM
  • util/haut niveau abstraction proxy java

Par ex

MsWordApp comObj = this.factory.createObject(MsWordApp.class); 

Documents documents = comObj.getDocuments(); 
_Document myDocument = documents.Add(); 

String path = new File(".").getAbsolutePath(); 
myDocument.SaveAs(path + "\\abcdefg", WdSaveFormat.wdFormatPDF); 
comObj.Quit();