Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign Skriptwerkstatt » printEveryOpenDoc für InCopy

printEveryOpenDoc für InCopy

Beobachter
Beiträge gesamt: 136

15. Jan 2020, 11:16
Bewertung:

gelesen: 3875

Beitrag als Lesezeichen
Lieber Martin und alle anderen
Dein Skript "printEveryOpenDoc" nutze ich noch immer fast täglich, wäre es möglich, mir das Skrip für den Gebrauch in InCopy umzuschreiben. InCopy hat keine Druckvorgaben und ich scheitere, wenn ich es selber mache.

Aktuell verwende ich MacOs 10.14.6
InDesign CC, 13.1.1
InCopy CC, 13.1.1

Herzlichen Dank, Gruess, Michel


// printEveryOpenDoc.jsx

//DESCRIPTION:Druckt alle geöffneten Dokumente mit einer ausgewählten Druckvorgabe aus
//AUTHOR:Martin Fischer
//DATE:7.7.2011

var printer_preset = get_printerpreset();
app.documents.everyItem().print( false, printer_preset );

function get_printerpreset()
{
var all_printerpresets = app.printerPresets.everyItem().name;
var _dialog = app.dialogs.add({name:"Drucken"});
with(_dialog.dialogColumns.add())
{
with(dialogRows.add())
{
with(dialogColumns.add())
{
staticTexts.add({staticLabel:"Druckvorgabe: "});
}
with(dialogColumns.add())
{
var ppr_dropdown = dropdowns.add({stringList:all_printerpresets, selectedIndex:all_printerpresets.length-11});
}
}
}
var r = _dialog.show();
if(r == true)
{
var ppres = all_printerpresets[ppr_dropdown.selectedIndex];
_dialog.destroy();
}
else
{
_dialog.destroy();
exit();
}
return ppres;
}

printEveryOpenDoc für InCopy

Martin Fischer
  
Beiträge gesamt: 12783

15. Jan 2020, 12:00
Bewertung:

gelesen: 3865

Beitrag als Lesezeichen
Lieber Michael,

geht es so?

Code
app.documents.everyItem().print(false); 


Viele Grüße
Martin


printEveryOpenDoc für InCopy

Beobachter
Beiträge gesamt: 136

15. Jan 2020, 14:57
Bewertung:

gelesen: 3843

Beitrag als Lesezeichen
Danke, Martin
Leider geht es nicht, InCopy stürzt ab.
Ehrlicherweise, bin ich mir aber auch nicht sicher was ich mit dieser Codezeile machen muss.
Eine andere Zeile ersetzen oder besteht das Script nur aus dieser einen Zeile?
Als Laie stehe ich oft an, wenn ich das Forum verfolge, was mit so einzelnen publizierten Zeilen ich überhaupt machen muss um ein Problem zu lösen…

Jedenfall habe ich verschiedenes versucht, aber wie geschrieben, InCopy stürzt imm er gleich ab!
Herzlich, Michel

printEveryOpenDoc für InCopy

Martin Fischer
  
Beiträge gesamt: 12783

15. Jan 2020, 15:35
Bewertung:

gelesen: 3832

Beitrag als Lesezeichen
Hallo Michel,

die eine Codezeile ist das ganze Skript.
Steht alles zum Drucken aller InCopy-Dokumente drin.

Laut dem Document Object Model von InCopy sollte das eigentlich passen:
Zitat Document.print (printDialog: Boolean )
Adobe InCopy 2020 (10.0) Object Model
Prints the Document(s).
printDialog: Data Type: Boolean
Whether to invoke the print dialog (Optional)



Vielleicht passt was bei den Druckereinstellungen nicht.
Druck mal (eine Seite) aus einem Dokument und versuch danach nochmals mit Hilfe des Skripts alle Dokumente zu drucken.

Alternativ kannst Du's mal damit versuchen:
Code
app.documents.everyItem().print(); 


Das "false" als Argument im print()-Befehl oben unterdrückt den Druckendialog (den willst Du ja auch nicht haben).

Viele Grüße
Martin



(Dieser Beitrag wurde von Martin Fischer am 15. Jan 2020, 15:36 geändert)

printEveryOpenDoc für InCopy

Beobachter
Beiträge gesamt: 136

15. Jan 2020, 16:58
Bewertung:

gelesen: 3819

Beitrag als Lesezeichen
jetzt ist es besser, nur muss ich noch für jedes geöffnete Dokument mit der ENTER-Taste den Druckbefehl im Druckdialogfenster bestätigen.
Bei vier geöffneten Dokumenten also vier mal Enter.
Wenn das noch eleminiert werden kann, bin ich happy.
Gruess, Michel

printEveryOpenDoc für InCopy

Martin Fischer
  
Beiträge gesamt: 12783

16. Jan 2020, 13:52
Bewertung:

gelesen: 3741

Beitrag als Lesezeichen
Antwort auf: Wenn das noch eleminiert werden kann, bin ich happy.
Gruess, Michel


Kann so eliminiert werden:
Code
app.documents.everyItem().print(false); 


Smile

Vermutlich reicht es, über den Ausdruck eines Dokuments einmal die Druckparameter festzulegen und dann, mit dem Befehl oben alle übrigen Dokumente zu drucken.
Das könnte auch im Skript abgebildet werden. Kann das aber grad nicht entwickeln und testen.

Viele Grüße
Martin