Advertisement
Guest User

Untitled

a guest
Nov 18th, 2013
320
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.79 KB | None | 0 0
  1. //***********************************************************************
  2. //
  3. // copy_layer_item_by_item
  4. //Description:Kopiert eine Ebene in ein anderes Dokument. Objekt für Objekt. Textverkettungen gehen dabei verloren
  5. //
  6. // [Ver: 0.1] [Author: Gerald Singelmann] [Modif: 10-04-30]
  7. // [Lang: DE] [Req: InDesign CS3/CS4] [Creat: 10-04-30]
  8. //
  9. // Bugs & Feedback : gerald{at}cuppascript{dot}com
  10. // www.cuppascript.com
  11. //
  12. //*********************************************************************
  13.  
  14. showHelpText("copy layer item by item");
  15.  
  16. if (app.documents.length == 2) {
  17. main();
  18. } else {
  19. alert("Es müssen genau zwei Dokumente offen sein und im vorderen muss die Ebene aktiv sein, die ins andere Dokument kopiert werden soll");
  20. }
  21.  
  22. function main() {
  23. var adoc = app.documents[0];
  24. var bdoc = app.documents[1];
  25.  
  26. var spread_count_source = adoc.spreads.length;
  27. var spread_count_target = bdoc.spreads.length;
  28.  
  29. var adialog = app.dialogs.add({name: "Druckbogenauswahl"});
  30. with(adialog) {
  31. with(dialogColumns.add()) {
  32. staticTexts.add( {staticLabel: "Erster Druckbogen Quelle"});
  33. staticTexts.add( {staticLabel: "Letzter Druckbogen Quelle"});
  34. staticTexts.add( {staticLabel: "Erster Druckbogen Ziel"});
  35. }
  36. with(dialogColumns.add()) {
  37. var qsf = integerEditboxes.add({editValue: 1, minimumValue: 1, maximumValue: spread_count_source});
  38. var qef = integerEditboxes.add({editValue: spread_count_source, minimumValue: 1, maximumValue: spread_count_source});
  39. var tsf = integerEditboxes.add({editValue: 1, minimumValue: 1, maximumValue: spread_count_target});
  40. }
  41. }
  42.  
  43. if (adialog.show() == false) {
  44. adialog.destroy();
  45. exit();
  46. } else {
  47. var qs = Number(qsf.editValue)-1;
  48. var qe = Number(qef.editValue)-1;
  49. var ts = Number(tsf.editValue)-1;
  50. if (qe-qs > spread_count_target - ts - 1) {
  51. qe = qs + (spread_count_target - ts -1);
  52. }
  53. adialog.destroy();
  54. }
  55.  
  56. var alayer = adoc.activeLayer;
  57. var lname = alayer.name;
  58. var blayer = bdoc.layers.item(lname);
  59. if (blayer.isValid == false) {
  60. blayer = bdoc.layers.add({name: lname});
  61. }
  62.  
  63. for (var s = 0; s <= (qe-qs); s++) {
  64. var spread = adoc.spreads[qs+s];
  65. var pitems = spread.pageItems;
  66. for (var pi = pitems.length-1; pi >= 0; pi--) {
  67. var p = pitems[pi];
  68. if (p.itemLayer == alayer) {
  69. p.duplicate(bdoc.spreads[ts+s]);
  70. }
  71. }
  72. }
  73. }
  74.  
  75. function showHelpText(the_script_name) {
  76. if (app.extractLabel("gs"+the_script_name) != "false") {
  77. $.localize = true;
  78. var sScriptName = { en: the_script_name, de: the_script_name};
  79. var sAlert = { en: "Open two documents\rHave the source-document active and\rselect the layer that is to be copied.", de: "1. Öffnen Sie zwei Dokumente\r2. Das Quelldokument muss das aktive sein\r3. Markieren Sie in der Ebenenpalette die zu kopierende Ebene." };
  80. var sNotAgain = { en: "Don't show again", de: "Nicht wieder anzeigen" };
  81.  
  82. var win = new Window("dialog", the_script_name);
  83. win.orientation = "column";
  84. var group = win.add("group");
  85. group.orientation = "column";
  86. group.alignChildren = "left";
  87. var lines = localize(sAlert).split("\r");
  88. for (var n = 0; n < lines.length; n++) {
  89. group.add("statictext", undefined, lines[n]);
  90. }
  91. group = win.add("group");
  92. var theOKButton = group.add("button", undefined, "OK");
  93. var bAgain = group.add("checkbox", undefined, localize(sNotAgain));
  94.  
  95. win.show();
  96.  
  97. if (bAgain.value) {
  98. app.insertLabel("gs"+the_script_name, "false");
  99. }
  100. }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement