В настоящее время я использую библиотеку Adobe Acrobat Interop (v1.1) в однопотоковом режиме для пакетного редактирования нескольких документов PDF в нескольких томах. Это серьезное узкое место в моей программе, и, когда проект созрел, у меня возник соблазн распараллелить части этого.
Однако, похоже, что прежде чем я смогу продолжить, мне нужно создать несколько процессов Acrobat, чтобы не блокировать несколько потоков на одном экземпляре приложения. Я знаю, что можно настроить однопроцессное поведение Adobe, используя ключ / n в оболочке, но учитывая способ его создания в .NET:
Type type = Type.GetFromProgID("AcroExch.PDDoc");
CAcroPDDoc app = (CAcroPDDoc)Activator.CreateInstance(type);
Я не могу найти способ заставить его использовать несколько экземпляров. Я пробовал каждый взлом реестра под солнцем, но это, похоже, влияет только на способ запуска Acrobat из оболочки. Насколько я могу судить, для конструктора COM также нет параметров.
Я надеялся, что кто-нибудь сможет направить меня в правильном направлении. Спасибо!