2017-08-10 40 views
0

我有一個用於插入的腳本,用用戶指定的文本替換文本元素中的一些文本。有時候,該文本包含&,並且每當有這個問題時,這個indesign腳本就會被擰緊。我試過所有常見的轉義字符"/,\,^,..."等,但它們不起作用。 有趣的是,如果我通過indesign接口在文本中添加&符號替換對話框,我不需要轉義它。任何人都知道如何解決這個問題?我試過Google搜索,並沒有任何相關的事情出現。正確轉義爲「&」在一個不確定的腳本

//@target indesign 
    //open template 
    var template = app.open("/Users/pad/Desktop/PAD Master Templates/B-MASTER.indd"); 
    main(); 
    function main(){ 
     //hide all layers 
     var doc = app.activeDocument; 
     for (var i = 0; i < doc.layers.length; i++) { 
      var item = doc.layers[i]; 
      item.visible = false; 
     } 

    //show appropriate design layer 
    var padFont = doc.layers.item("Font"); 
    padFont.visible = true; 
    var padArt = doc.layers.item("Artwork"); 
    padArt.visible = true; 
    var links = doc.links; 
    var link; 
    var update = false; 
    for (var i = links.length-1; i >= 0; i--) { 
     link = links[i]; 
     if (link.name == 'some_design.eps') { 
      newLink = new File(link.filePath.replace('some_design.eps', "new_design.eps")); 
      update = true; 
     }   
     if (update == true && newLink.exists) { 
      link.relink(newLink); 
      try { 
       link.update(); 
      } 
      catch(err) {}     
     }  
    } 
     //Find and replace text. 
     app.findTextPreferences = NothingEnum.NOTHING; 
     app.changeTextPreferences = NothingEnum.NOTHING; 
     app.findChangeTextOptions.caseSensitive = true; 
     app.findChangeTextOptions.includeFootnotes = false; 
     app.findChangeTextOptions.includeHiddenLayers = false; 
     app.findChangeTextOptions.includeLockedLayersForFind = false; 
     app.findChangeTextOptions.includeLockedStoriesForFind = false; 
     app.findChangeTextOptions.includeMasterPages = false; 
     app.findChangeTextOptions.wholeWord = false; 
     app.findTextPreferences.findWhat = "line 1"; 


//this is a line where I need to escape the "&" 

     app.changeTextPreferences.changeTo = "R&T"; 
     doc.changeText(); 
     app.findTextPreferences.findWhat = "line 2"; 


//this is a line where I need to escape the "&" 


     app.changeTextPreferences.changeTo = "Q&A"; 
     doc.changeText(); 
     //Exprt as jpeg 
     doc.exportFile(ExportFormat.JPG, "/path/name.jpg"); 
     //Close the file without saving. 
     doc.close (SaveOptions.NO); 
    } 
+0

'&'? (我不知道) – Bergi

回答

0

與InDesign文檔的字體和頁面佈局擺弄後,該錯誤不再發生。不能說是什麼原因造成的,但是我們改變了所發生的一切。感謝您的建議!