Quitter
  • Communauté internationale
    • Langue:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티

How to use JavaScript to export to PNG/TIFF as multiple assets?

Débutant dans la communauté ,
Dec 11, 2021 Dec 11, 2021

I have a lot of .ai files with logo and I need to export them into PNG files. Is there an antomatic way of doing it? I know you cannot record the export part in Action...

SUJETS
Scripting
2.3K
Traduire
Signaler
Directives de la communauté
Restez bienveillant et courtois, ne vous attribuez pas la paternité des créations d’autrui et assurez-vous de l’absence de doublons avant de poster du contenu. En savoir plus
community guidelines

correct answers 2 bonnes réponses

Community Expert , Dec 11, 2021 Dec 11, 2021

Hi,

Yes this possible via script. I have simple script that exports all selected items of the active document as PNG, but this can be modified to run on all multiple documents.

My question, is do you want to export all items inside all documents or some specific? Coudl you share some ai sample files

 

Below is sample script

var doc = app.activeDocument;
var docAssets = doc.assets;
var assetIDArray = new Array();
var itemToExport = new ExportForScreensItemToExport();
itemToExport.artboards = '';
...
Traduire
Community Expert , Dec 23, 2021 Dec 23, 2021

Hi,

You can use following snippet for your documents. When you run the script it will ask for the folder where source file exists. So select source_files folder in your case and png will be exported at the Desktop.

 

var _folder = Folder.selectDialog();
if (_folder != null) {
    var _files = _folder.getFiles('*.ai');
    for (var f = 0; f < _files.length; f++) {
        var doc = app.open(_files[f]);
        var docAssets = doc.assets;
        var assetIDArray = new Array();
        var itemToE
...
Traduire
Adobe
Community Expert ,
Dec 11, 2021 Dec 11, 2021

Hi,

Please see the thread below, if that helps you

https://community.adobe.com/t5/illustrator-discussions/collect-for-export-as-multiple-assets/td-p/12...

 

Best regards
Traduire
Signaler
Directives de la communauté
Restez bienveillant et courtois, ne vous attribuez pas la paternité des créations d’autrui et assurez-vous de l’absence de doublons avant de poster du contenu. En savoir plus
community guidelines
Débutant dans la communauté ,
Dec 11, 2021 Dec 11, 2021

that is what I'm doing for the moment. The painful things is to open up hundreds of .ai files one by one, export them as multiple assets, and close them one by one. 

I think there is a way to speed it up by using scrips since I only need to open a file and export them to png, right?

Traduire
Signaler
Directives de la communauté
Restez bienveillant et courtois, ne vous attribuez pas la paternité des créations d’autrui et assurez-vous de l’absence de doublons avant de poster du contenu. En savoir plus
community guidelines
Community Expert ,
Dec 11, 2021 Dec 11, 2021

Hi,

Yes this possible via script. I have simple script that exports all selected items of the active document as PNG, but this can be modified to run on all multiple documents.

My question, is do you want to export all items inside all documents or some specific? Coudl you share some ai sample files

 

Below is sample script

var doc = app.activeDocument;
var docAssets = doc.assets;
var assetIDArray = new Array();
var itemToExport = new ExportForScreensItemToExport();
itemToExport.artboards = '';
itemToExport.document = false;
var assetArray = new Array();
for (var i = 0; i < app.selection.length; i++) {
    var asset = docAssets.add(app.selection[i]);
    assetIDArray.push(asset.assetID);
}
itemToExport.assets = assetIDArray;
var options = new ExportForScreensOptionsPNG24();
app.activeDocument.exportForScreens(File('~/Desktop'), ExportForScreensType.SE_PNG24, options, itemToExport);

 

NOTE: This will export only selected items of the active document. if you answer above quetsion, we can help you in right direction.

Best regards
Traduire
Signaler
Directives de la communauté
Restez bienveillant et courtois, ne vous attribuez pas la paternité des créations d’autrui et assurez-vous de l’absence de doublons avant de poster du contenu. En savoir plus
community guidelines
Débutant dans la communauté ,
Dec 11, 2021 Dec 11, 2021

Thank you soooo much!! it works on my mac!

To answer your question: I need to export all items inside all documents. it would be better if I can only give a path to all of the .ai and an automation could take process and output .pngs. if such automation works then these .pngs need to be put into different folders named by their source .ai files. It would be very hard to look up if all .pngs are saved in the same folder  because their name is meaningless("Asset" + numbers).

I also upload a sample file here.

many thanks!

 

Traduire
Signaler
Directives de la communauté
Restez bienveillant et courtois, ne vous attribuez pas la paternité des créations d’autrui et assurez-vous de l’absence de doublons avant de poster du contenu. En savoir plus
community guidelines
Débutant dans la communauté ,
Dec 11, 2021 Dec 11, 2021

I just find out I cannot upload .ai as a attachment. I tried to change its suffix to other qualified format and none of them worked. 

Traduire
Signaler
Directives de la communauté
Restez bienveillant et courtois, ne vous attribuez pas la paternité des créations d’autrui et assurez-vous de l’absence de doublons avant de poster du contenu. En savoir plus
community guidelines
Community Expert ,
Dec 11, 2021 Dec 11, 2021

upload to google drive, dropbox, creative cloud or similar and post the link here

Traduire
Signaler
Directives de la communauté
Restez bienveillant et courtois, ne vous attribuez pas la paternité des créations d’autrui et assurez-vous de l’absence de doublons avant de poster du contenu. En savoir plus
community guidelines
Débutant dans la communauté ,
Dec 11, 2021 Dec 11, 2021
Traduire
Signaler
Directives de la communauté
Restez bienveillant et courtois, ne vous attribuez pas la paternité des créations d’autrui et assurez-vous de l’absence de doublons avant de poster du contenu. En savoir plus
community guidelines
Community Expert ,
Dec 23, 2021 Dec 23, 2021
LA PLUS RÉCENTE

Hi,

You can use following snippet for your documents. When you run the script it will ask for the folder where source file exists. So select source_files folder in your case and png will be exported at the Desktop.

 

var _folder = Folder.selectDialog();
if (_folder != null) {
    var _files = _folder.getFiles('*.ai');
    for (var f = 0; f < _files.length; f++) {
        var doc = app.open(_files[f]);
        var docAssets = doc.assets;
        var assetIDArray = new Array();
        var itemToExport = new ExportForScreensItemToExport();
        itemToExport.artboards = '';
        itemToExport.document = false;
        var assetArray = new Array();
        var _layer = doc.layers[0];
        for (var i = 0; i < _layer.groupItems.length; i++) {
            var asset = docAssets.add(doc.groupItems[i]);
            assetIDArray.push(asset.assetID);
        }
        itemToExport.assets = assetIDArray;
        var options = new ExportForScreensOptionsPNG24();
        app.activeDocument.exportForScreens(File('~/Desktop'), ExportForScreensType.SE_PNG24, options, itemToExport);
    }
}

 

Best regards
Traduire
Signaler
Directives de la communauté
Restez bienveillant et courtois, ne vous attribuez pas la paternité des créations d’autrui et assurez-vous de l’absence de doublons avant de poster du contenu. En savoir plus
community guidelines