Копирование MasterSpread из одного документа в другой.

  • Автор темы Автор темы dim4an
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

dim4an

Участник
Топикстартер
Сообщения
93
Реакции
1
Всем привет. Столкнулся вот с такой проблемой. Необходимо перенести мастер страницы из одного документа в другой. Хочу сделать это следующим образом
Код:
var masrepage = subcontTF.masterSpreads[0];
  //ищем нужный мастер
    for (var i = 0; i < subcontTF.masterSpreads.length; i++){
        if(subcontTF.masterSpreads[i].name == "B-Mustervorlage"){
            masrepage = subcontTF.masterSpreads[i];
            log.write("B-Mustervorlage is found");
            break;
        }
    }
 
    var newMaster = myDoc.masterSpreads.add();
 
    newMaster.properties = masrepage.properties;
   
    //копируем элементы мастера в новый мастер
    for (var i = 0; i < masrepage.pageItems.length; i++){
        var pageItem = masrepage.pageItems[i];
        pageItem.duplicate(newMaster);
    }
 
    var page = myDoc.pages.add();
 
    page.appliedMaster = newMaster;
где myDoc исходный документ, subcontTF - документ с интересующим нас мастером.

После этих действий, в документе myDoc мастер создается и даже содержит некоторые элементы из исходного мастера. Но сам мастер не похож на оригинал. Расположение элементов сдвинуто, сам мастер получается как 2х страничный, хотя исходный мастер одностраничный.
 
а почему бы прямо masrepage.duplicate(myDoc) не попробовать?
 
  • Спасибо
Реакции: dim4an
добавил параметр и все заработало) masterpage.duplicate(LocationOptions.AFTER, myDoc);
 
Статус
Закрыто для дальнейших ответов.