Pregunta

Estoy teniendo un pequeño problema con la automatización de Photoshop CS4. Cuando quiero añadir una referencia a la API de COM en mi proyecto de Visual Studio 2008, la biblioteca de objetos Adobe Photoshop no aparece en el panel "Agregar referencia" en la pestaña "COM". Sin embargo, la biblioteca de tipos Illustrator CS4 aparece muy bien. sí Photoshop funcionar perfectamente, tanto en el sabor de 32 y 64 bits. Photoshop se instala junto con todas las demás aplicaciones de la Suite CS4.

Esto no funcionó tanto en Windows 7 y Windows XP, el 2 de máquina diferente + 1 PC virtual (VMware Workstation). También probé en el VS2010 Beta 1 y el editor de MS Word VB, pero no funcionó aquí tampoco.

¿Alguien tiene alguna idea? Si fueron capaces de añadir una referencia, lo que era su configuración?

¿Fue útil?

Solución

No hay necesidad de crear una máquina virtual, hay un problema con algunas versiones de Photoshop en tanto el COM no aparece, para corregir esta carrera Photoshop como administrador (sólo una vez) y esto se corregirá las entradas del registro y el COM estará entonces disponible.

Otros consejos

Al final, la solución fue utilizar una máquina virtual de Windows XP con una instalación independiente de Photoshop (en lugar de toda la suite creativa). Se puede utilizar para generar un DLL que funciona en cualquier Windows con cualquier instalación de Photoshop CS4 (autónomo o la suite creativa).

EDIT: Aquí está todo el proceso

Creación de una máquina virtual de Windows XP con su solución de virtualización favorita (VMware, VirtualBox, VirtualPC, etc). Instalar Visual Studio 2008 y una instalación independiente de Photoshop CS4 (Los trajes creativos enteros no han funcionado en mi caso, pero su kilometraje puede variar). Abra Visual Studio y crear ya sea un nuevo VB.NET o biblioteca de clases C #. Una vez hecho esto, haga clic derecho en la carpeta de "referencia" en el explorador de soluciones y seleccione Agregar referencia. Ir a la ficha COM, y la búsqueda de "biblioteca de tipos Adobe Photoshop CS4". Esto añadirá dos nuevas referencias: "Photoshop" y "PhotoshopTypeLibrary". Crear una función ficticia (Altough que puede no ser necesario) y construir su proyecto. Como buen mesure, puede asegurarse de que el modo de compilación se ajusta a "liberar", pero esto no es necesario, depurar no tendrán ningún problema. Una vez que se ha edificado su proyecto, vaya a la carpeta del proyecto en su disco duro VM y buscar la carpeta bin \ Release. Allí verá 3 DLL: uno lleva el nombre de su proyecto, uno llamado Photoshop.dll y otro namde Interop.Photoshop.dll. Copiar los dos últimos en su máquina Developpement con Windows 7 x64. A continuación, puede importarlos en su proyecto mediante la adición de referencias y navegar a los 2 DLL.

Una cosa muy dulce que noté fue que la DLL Altough fueron compilados en un 32 bits VM, seguirían llamar a la versión de 64 bits de Photoshop si su programa .NET runned en modo de 64 bits.

Espero que ayude!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top