script to save as png

Explorer ,
Apr 30, 2020 Apr 30, 2020

Copy link to clipboard

Copied

Is there any script to save illustrator file to png in same directory. once saved AI file should be closed without saving. Also file naming of PNG should be as per AI file. please help me on this

resolution on png: 72

 

TOPICS
Scripting

Views

813

Likes

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

correct answers 1 Correct Answer

Adobe Community Professional , May 01, 2020 May 01, 2020
Hi,  While exporting PNG via script, it is not possible to give resolution when exporting AI document either by ExportOptionPNG8 or ExportOptionsPNG24. For reference please see below screenshot But you can use option ImageCaptureOptions to export AI document into png while specifying the resolution. See below screenshot. So, for your problem solution will be, function saveAsPNG() { var pngFile = new File(app.activeDocument.path + "/" + app.activeDocument.name.split('.')[0] + '.png'); v...

Likes

Translate

Translate
Adobe Community Professional ,
May 01, 2020 May 01, 2020

Copy link to clipboard

Copied

Hi, 
While exporting PNG via script, it is not possible to give resolution when exporting AI document either by ExportOptionPNG8 or ExportOptionsPNG24. For reference please see below screenshot

 

PNGOptions.png

 

But you can use option ImageCaptureOptions to export AI document into png while specifying the resolution. See below screenshot.

 

imageCapture.png

 

So, for your problem solution will be,

 

function saveAsPNG() {
    var pngFile = new File(app.activeDocument.path + "/" + app.activeDocument.name.split('.')[0] + '.png');
    var resolution = 72;
    var opts = new ImageCaptureOptions();
    opts.resolution = resolution;
    opts.antiAliasing = true;
    opts.transparency = true;
    try {
        app.activeDocument.imageCapture(pngFile, app.activeDocument.geometricBounds, opts);
        app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
    } catch (e) {

    }
}

saveAsPNG();

 

You can change value of resolution here as per your requirements.

Let us know if this helps you.

 

Thanks

Charu

Best regards

Likes

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
Community Beginner ,
Jun 02, 2021 Jun 02, 2021

Copy link to clipboard

Copied

Hi,

 

Great script, thank you!

I have 2 requests, if possible:

1. Is there a way to add an option to save the PNG as a clipped artbourd? I have Illustrator files with content outside the artboard an when using the script the saved image is showing all content not the artboard itself.

I tried to add a line:

opts.artBoardClipping = true;

but no results, the image saved contains entire file content no clipped to artboard.

 

and 
2. Is there a way to add an option to save the file in a different size from the original Illustrator artboard? For example I have files at 850x1134 px and I want to save PNGs as 1500x2000 px

Can be done with scripting? Maybe by using scaling in percentage (e.g. saved at 150%) or by using absolute values (e.g. 1500x2000 px).

 

Looking forward for your ideas 🙂

 

Best,

Adrian

Likes

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
Enthusiast ,
Jun 03, 2021 Jun 03, 2021

Copy link to clipboard

Copied

function saveAsPNG() {
    var pngFile = new File(app.activeDocument.path + "/" + app.activeDocument.name.split(".")[0] + ".png");
    var type = ExportType.PNG24;
    var opts = new ExportOptionsPNG24();
    opts.antiAliasing = false;
    opts.transparency = false;
    opts.artBoardClipping = true;
    opts.horizontalScale = 150;
    opts.verticalScale = 150;
    try {
        app.activeDocument.exportFile(pngFile, type, opts);
        app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
    } catch (e) {}
}
saveAsPNG();

(But, as @Charu Rajput said, you cannot change the resolution now.)

Likes

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
Community Beginner ,
Jun 03, 2021 Jun 03, 2021

Copy link to clipboard

Copied

LATEST

Thank you! Works for me this way 🙂

Likes

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