J'essaie d'ouvrir un document PDF dans une application C# en utilisant Acrobat Inter Application Communication (IAC) dans un projet Visual C# 2008 Express Edition.
Lors de l'exécution du code ci-dessous je reçois une exception:Visual C# Express Edition - impossible de faire fonctionner le lecteur pdf Acrobat
CAcroPDDoc pdDoc = new AcroPDDocClass();
L'exception indique que l'usine de classe COM pour un CLSID particulier a échoué avec l'erreur 80040154. Vous le code d'erreur dans winerror.h sur MSDN l'erreur est lié au fait que la classe n'est pas enregistrée.
J'ai essayé d'utiliser regsvr32 pour enregistrer le fichier Interop.Acrobat.dll mais cela ne fonctionne pas (impossible de trouver le point d'entrée DllRegisterServer).
J'ai essayé l'exemple de projet C# fourni avec Acrobat 9 SDK (BasicIacCS - il existe un projet de studio visuel appelé BasicIacCS.suo, qui est importé dans C# Express sans erreur mais échoue avec la même exception).
Est-ce que je fais une erreur fondamentale? (Je suis nouveau à la programmation Windows/.NET)
Est-ce possible sous l'édition express ou devrais-je mettre à jour vers Visual Studio?
En regardant plus le problème le CLSID qui est par la plainte est disponible quand je fais un ILDASM de mon application (fichier .exe) - il est le CLSID de la classe AcroPDDoc je suis en train d'accéder. Cette classe et son CLSID associé sont absents du registre. J'ai seulement Acrobat Reader installé - pas la version complète. La version complète d'Acrobat est-elle requise pour accéder aux interfaces COM? (J'ai seulement Acrord32.dll, pas Acrobat.dll présent sur le système). J'ai essayé le même programme sur une autre machine Vista et ai désinstallé/réinstallé Arobat Reader avec le même résultat.
Je pense que vous avez installé VS avant acrobat reader. – Brij