• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

document.print()?

Contributor ,
Jul 23, 2018 Jul 23, 2018

Copy link to clipboard

Copied

Hello,

As app.activeDocument.print() throws a 8800 error in PSD CS6 (and also doesn't work with actions), is there another way to print active document.

I would like to show a personal UI before every printing. Maybe I could use listeners? But I don't understand how.

Thank you for your help.

TOPICS
Actions and scripting

Views

1.4K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe
LEGEND ,
Jul 23, 2018 Jul 23, 2018

Copy link to clipboard

Copied

It gives error in CS6 EXTENDED in fact, but in CC 2018 doesn't:

executeAction(stringIDToTypeID('print'), undefined, DialogModes.ALL)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Jul 23, 2018 Jul 23, 2018

Copy link to clipboard

Copied

  1. executeAction(stringIDToTypeID('print'), undefined, DialogModes.ALL) 

gives the same error as wihen "Print" menu item (CMD-P) is called from actions with "Insert a command..."

CS 6, Photoshop 13.0, Mac OS 10.11.6

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jul 23, 2018 Jul 23, 2018

Copy link to clipboard

Copied

function sTT(v) {return stringIDToTypeID(v)}

(ref1 = new ActionReference()).putProperty(sTT('property'), sTT('printOutput'))

ref1.putEnumerated(sTT('document'), sTT('ordinal'), sTT('targetEnum'));

(dsc1 = new ActionDescriptor()).putReference(sTT('null'), ref1);

(dsc2 = new ActionDescriptor()).putBoolean(sTT('postScriptColor'), true)

dsc2.putEnumerated(sTT('intent'), sTT('intent'), sTT('image'))

dsc2.putBoolean(sTT('printSixteenBit'), false)

dsc2.putString(sTT('printerName'), 'Adobe PDF');

(dsc3 = new ActionDescriptor()).putEnumerated(sTT('builtin'), sTT('builtinProof'), sTT('proofCyan'))

dsc2.putObject(sTT('printProofSetup'), sTT('proofSetup'), dsc3)

dsc1.putObject(sTT('printOutput'), sTT('printOutput'), dsc2);

(dsc4 = new ActionDescriptor()).putEnumerated(sTT('builtin'), sTT('builtinProof'), sTT('proofCyan'))

dsc1.putObject(sTT('printViewProofSetup'), sTT('proofSetup'), dsc4);

(dsc5 = new ActionDescriptor()).putBoolean(sTT('caption'), false)

dsc5.putBoolean(sTT('calibrationBars'), false)

dsc5.putBoolean(sTT('registrationMarks'), false)

dsc5.putBoolean(sTT('cornerCropMarks'), false)

dsc5.putBoolean(sTT('centerCropMarks'), false)

dsc5.putBoolean(sTT('labels'), false)

dsc5.putBoolean(sTT('negative'), false)

dsc5.putBoolean(sTT('emulsionDown'), false)

dsc5.putBoolean(sTT('interfaceIconFrameDimmed'), false);

(dsc6 = new ActionDescriptor()).putDouble(sTT('red'), 255)

dsc6.putDouble(sTT('grain'), 255)

dsc6.putDouble(sTT('blue'), 255)

dsc5.putObject(sTT('background'), sTT('RGBColor'), dsc6)

dsc5.putUnitDouble(sTT('borderThickness'), sTT('distanceUnit'), 0)

dsc5.putUnitDouble(sTT('bleed'), sTT('distanceUnit'), 0)

dsc5.putUnitDouble(sTT('resolution'), sTT('pixelsUnit'), 1)

dsc5.putBoolean(sTT('vectorData'), true)

dsc5.putEnumerated(sTT('pagePosition'), sTT('pagePosition'), sTT('pagePosCentered'))

dsc5.putUnitDouble(sTT('left'), sTT('distanceUnit'), 261.5)

dsc5.putUnitDouble(sTT('top'), sTT('distanceUnit'), 384.5)

dsc5.putUnitDouble(sTT('scale'), sTT('percentUnit'), 100)

dsc5.putBoolean(sTT('cropWhenPrinting'), false)

dsc5.putInteger(sTT('cropRectBottom'), 841)

dsc5.putInteger(sTT('cropRectLeft'), 0)

dsc5.putInteger(sTT('cropRectRight'), 595)

dsc5.putInteger(sTT('cropRectTop'), 0)

dsc1.putObject(sTT('printOutputOptions'), sTT('printOutputOptions'), dsc5);

(dsc7 = new ActionDescriptor()).putData(sTT('systemInfo'), String.fromCharCode(2, 0, 0, 0, 32, 110, 105, 87, 0, 0, 0, 0, 65, 0, 100, 0, 111, 0, 98, 0, 101, 0, 32, 0, 80, 0, 68, 0, 70, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 3, 6, 220, 0, 212, 5, 83, 239, 128, 1, 1, 0, 9, 0, 154, 11, 52, 8,

100, 0, 1, 0, 15, 0, 176, 4, 2, 0, 1, 0, 176, 4, 3, 0, 1, 0, 65, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 80, 82, 73, 86, 66, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

24, 0, 0, 0, 0, 0, 16, 39, 16, 39, 16, 39, 0, 0, 16, 39, 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, 164, 3, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 48, 2, 16, 0,

80, 52, 3, 0, 40, 136, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 70, 70, 159, 242, 5, 0, 0, 0, 4, 0, 18, 0, 255, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, 0,

83, 77, 84, 74, 0, 0, 0, 0, 16, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 2, 0, 0, 69, 66, 68, 65, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0,

1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 83, 0, 116, 0, 97, 0, 110, 0, 100, 0, 97, 0, 114, 0, 100, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

))

dsc1.putObject(sTT('osSpecificPrintInfo'), sTT('osSpecificPrintInfo'), dsc7)

dsc1.putString(sTT('caption'), '')

executeAction(sTT('print'), dsc1, DialogModes.ALL)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Jul 23, 2018 Jul 23, 2018

Copy link to clipboard

Copied

Unfortunately, printing is not very scriptable as the setup is unique for every machine + printer combination. If you manually print from the UI and then print from your script, does that work? Hopefully it does and you can capture the ScriptListener output as Kukurykus ​​has above and use that in your script in the future. You will have to redo that for each printer you attach or if you change your settings manually.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Jul 23, 2018 Jul 23, 2018

Copy link to clipboard

Copied

Thank you for your replies.

Tom, I understand printing is not very scriptable. I just would like to trigger the standard Photoshop print dialog, the one is called with the menu item "File/Print..."

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Jul 23, 2018 Jul 23, 2018

Copy link to clipboard

Copied

DialogModes.ALL is what is showing you the dialog. Just add this line before you call the .print() method.

app.displayDialogs = DialogModes.ALL;

activeDocument.print();

app.displayDialogs = DialogsModes.NO;

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jul 23, 2018 Jul 23, 2018

Copy link to clipboard

Copied

For me on CS6 EXTENDED it doesn't work.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
People's Champ ,
Jul 23, 2018 Jul 23, 2018

Copy link to clipboard

Copied

Try this shorter version.

var d = new ActionDescriptor();

d.putObject(stringIDToTypeID("printOutput"), stringIDToTypeID("printOutput"), new ActionDescriptor());

d.putObject(stringIDToTypeID("printViewProofSetup"), stringIDToTypeID("proofSetup"), new ActionDescriptor());

d.putObject(stringIDToTypeID("printOutputOptions"), stringIDToTypeID("printOutputOptions"), new ActionDescriptor());

var d1 = new ActionDescriptor();

d1.putData(stringIDToTypeID("systemInfo"), 0);

d.putObject(stringIDToTypeID("osSpecificPrintInfo"), stringIDToTypeID("osSpecificPrintInfo"), d1);

executeAction(stringIDToTypeID("print"), d, DialogModes.ALL);

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jul 23, 2018 Jul 23, 2018

Copy link to clipboard

Copied

I also tried before other shortneded version, but like with this, it gave message about incompatibility, so I kept original one.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
People's Champ ,
Jul 23, 2018 Jul 23, 2018

Copy link to clipboard

Copied

The message will always be if the printers are very different, for example, bw and color. There is a tick - do not show

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Jul 24, 2018 Jul 24, 2018

Copy link to clipboard

Copied

For me, CS6, Photoshop 13.0:

  1. var d = new ActionDescriptor(); 
  2. d.putObject(stringIDToTypeID("printOutput"), stringIDToTypeID("printOutput"), new ActionDescriptor()); 
  3. d.putObject(stringIDToTypeID("printViewProofSetup"), stringIDToTypeID("proofSetup"), new ActionDescriptor()); 
  4. d.putObject(stringIDToTypeID("printOutputOptions"), stringIDToTypeID("printOutputOptions"), new ActionDescriptor()); 
  5. var d1 = new ActionDescriptor(); 
  6. d1.putData(stringIDToTypeID("systemInfo"), 0); 
  7. d.putObject(stringIDToTypeID("osSpecificPrintInfo"), stringIDToTypeID("osSpecificPrintInfo"), d1); 
  8. executeAction(stringIDToTypeID("print"), d, DialogModes.ALL);

works, as the longer version, though both gave message about incompatibility.

app.displayDialogs = DialogModes.ALL;

activeDocument.print();

app.displayDialogs = DialogsModes.NO;

doesn't work (always same buggy error).

Anyhow, thanks for your replies.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
People's Champ ,
Jul 24, 2018 Jul 24, 2018

Copy link to clipboard

Copied

You can record an Action.

To do this, start Action recording.

Press Ctrl+P or manually call the Print menu.

In the window dialog click "Done", not "Print".  (!!!!!!)

Stop recording.

Enable the Dialog display in this Action.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Jul 24, 2018 Jul 24, 2018

Copy link to clipboard

Copied

OK, I recorded this Action, but I don't understand the goal. Of course, when I play this Action, nothing visible happens.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
People's Champ ,
Jul 24, 2018 Jul 24, 2018

Copy link to clipboard

Copied

Did you turn on dialogs in Action?

Untitled-2.png
Actions can also be converted to a script.

upd. Re: converting actions into script

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Jul 24, 2018 Jul 24, 2018

Copy link to clipboard

Copied

Sorry, I wasn't clear enough.

I turned on dialogs, I recorded the Action and saw the printing dialog.

I was just saying that nothing visible happens when I play this Action. But, OK, I now understand it could be interesting to convert this action to a script .

Thank you.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
People's Champ ,
Jul 24, 2018 Jul 24, 2018

Copy link to clipboard

Copied

LATEST

When you run the Action or the converted script, you need to press the Print button

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines