-1

有没有办法使用 C# 控制台应用程序与 Adob​​e Bridge 进行通信?

我想使用桥为给定的图像文件夹(例如:SamplePictures)创建缩略图..

我知道 Bridge 支持 java 脚本,有没有办法用 JavaScript 编程来桥接..

4

2 回答 2

0

这是过程:

  • 运行桥 SDK

  • 查找创建缩略图的方法

  • 通过 JScript 调用方法

  • 从 JScript 调用 C#

参考

于 2014-08-08T19:54:11.980 回答
-1

对 Bridge 进行编程的唯一方法是使用任何具有 com、Photoshop、Indesign、Illustrator 等的 Adob​​e 产品通过 com 使用 BridgeTalk。以下是获取选定 Bridge 文件列表的示例。

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;

namespace Bridge
{
    class Program
    {
        [STAThread]
        static void Main(string[] args)
        {
            dynamic app = Activator.CreateInstance(Type.GetTypeFromProgID("Photoshop.Application"));

            //Get list of select files from Bridge
            String Code = "var fileList;" +
            "var bt = new BridgeTalk();" +
            "bt.target = 'bridge';" +
            "bt.body = 'var theFiles = photoshop.getBridgeFileListForAutomateCommand();theFiles.toSource();';" +
            "bt.onResult = function( inBT ) { fileList = eval( inBT.body ); }" +
            "bt.onError = function( inBT ) { fileList = new Array(); }" +
            "bt.send(8);" +
            "if ( undefined == fileList ) {" +
            "fileList = new Array();}" +
            "fileList = decodeURI(fileList.toString());";

            String RC = app.DoJavaScript(Code, null, null);
            ArrayList list = new ArrayList();
            list.AddRange(RC.Split(new char[] { ',' }));
            for (int index = 0; index < list.Count; index++)
            {
                Console.WriteLine(list[index]);
            }
            Console.ReadLine();

        }
    }
}
于 2016-05-03T18:23:25.820 回答