Copy link to clipboard
Copied
Hi,
I am using the latest version of Bridge (CC) and would like to export a list of selected files, including Keywords, Rating, and File Location if possible.
In a previous version of Bridge, I had used a script to do this. However, since then it seems that this functionality has been discontinued. Is there any way to do what I want in this "Professional" software that we are paying so much for?
Adobe has never offered this. However, there are scripts, including my Folder List Export script, which have this functionality.
Copy link to clipboard
Copied
HI Lumigraphics
Thanks for your FolderListExport Script. Very useful. The one thing it doesn't have is an option to export the Dimensions in Inches data. Do you have an update by chance that includes that opton
Thanks
Copy link to clipboard
Copied
The one thing it doesn't have is an option to export the Dimensions in Inches data. Do you have an update by chance that includes that opton
Thanks
By @Richard3452012619ot
In the short term, if you need this now, although not automated, you can get this information by ticking the "Dimensions" box when exporting.
You will then have a column for Dimensions in pixels, i.e.:
1665 x 1284
And a column for the Resolution:
192 ppi
It's then possible to use a spreadsheet app's "Text to Columns" feature to split these two columns on the word space, so that there are separate columns for the width, height and resolution numbers.
A formula can then generate the size in inches by dividing the pixel dimensions by the resolution value:
1665 / 192 = 8.671875
Then format the cell to round to 1 decimal place and it will report the same size as Bridge as 8.7"
The formula can then be copied from 1 cell, to 2 or 2000+ cells.
I'll look into the scripting guide to see how easy it is to get the dimensions in inches and centimetres. They might be available to scripting as it's displayed in the Bridge Metadata panel.
Copy link to clipboard
Copied
In the original script code, find the following 10 lines of code for the if/else block (lines 560-570):
if(fleListingInfo[7][1] == true){
var fleWD = fleList[i].core.quickMetadata.width;
var fleHT = fleList[i].core.quickMetadata.height;
var fleRes = fleList[i].core.quickMetadata.xResolution;
if(fleWD == undefined || fleWD == 0 || fleHT == undefined || fleHT == 0){
fleWD = fleHT = '';
}
else{
fleListing = fleListing + '\t' + fleWD.toString() + ' x ' + fleHT.toString() + '\t' + fleRes.toString() + ' ppi';
}
}
Replace with the following 15 lines of code:
if (fleListingInfo[7][1] == true) {
var fleWD = fleList[i].core.quickMetadata.width;
var fleHT = fleList[i].core.quickMetadata.height;
var fleRes = fleList[i].core.quickMetadata.xResolution;
if (fleWD == undefined || fleWD == 0 || fleHT == undefined || fleHT == 0) {
fleWD = fleHT = '';
}
else {
var fleWDinches = fleWD / fleRes; // Width divided by resolution for size in inches
fleWDinchesRound = fleWDinches.toFixed(1); // Rounds to nearest decimal
var fleHTinches = fleHT / fleRes; // Height divided by resolution for size in inches
fleHTinchesRound = fleHTinches.toFixed(1); // Rounds to nearest decimal
fleListing = fleListing + '\t' + fleWDinchesRound.toString() + ' x ' + fleHTinchesRound.toString() + ' inches' + '\t' + fleRes.toString() + ' ppi';
}
}
Enjoy!
Copy link to clipboard
Copied
Thanks so much. That's just what I needed
Copy link to clipboard
Copied
@Richard3452012619ot – You're welcome!
Copy link to clipboard
Copied
And here it is in metric:
if (fleListingInfo[7][1] == true) {
var fleWD = fleList[i].core.quickMetadata.width;
var fleHT = fleList[i].core.quickMetadata.height;
var fleRes = fleList[i].core.quickMetadata.xResolution;
if (fleWD == undefined || fleWD == 0 || fleHT == undefined || fleHT == 0) {
fleWD = fleHT = '';
}
else {
var fleWDcm = fleWD / fleRes * 2.54; // Width in CM, use 25.4 for MM
fleWDcmRound = fleWDcm.toFixed(1); // Rounds to nearest decimal
var fleHTcm = fleHT / fleRes * 2.54; // Width in CM, use 25.4 for MM
fleHTcmRound = fleHTcm.toFixed(1); // Rounds to nearest decimal
fleListing = fleListing + '\t' + fleWDcmRound.toString() + ' x ' + fleHTcmRound.toString() + ' CM' + '\t' + fleRes.toString() + ' ppi';
}
}
Copy link to clipboard
Copied
One can use ExifTool to change the modified date/time with the created values.
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Here's a script to auto place selected images from Bridge and put them on Indesign pages. The only problem with it is that on the first page, top row left side, it places 2 images on top of each other in the same picture frame. Other than that it works well. Any ideas on how to fix the javascript to eliminate the overlapping placement on the first page?
#target bridge
if (BridgeTalk.appName == "bridge") {
var menu = MenuElement.create("command", "AutoPlaceFixed2", "at the end of Tools");
menu.onSelect = function () {
var selectedFiles = app.document.selections;
if (selectedFiles.length === 0) {
alert("Please select one or more image files.");
return;
}
var filePaths = [];
for (var i = 0; i < selectedFiles.length; i++) {
if (selectedFiles[i].type === "file") {
filePaths.push(selectedFiles[i].spec.fsName);
}
}
if (filePaths.length === 0) {
alert("No valid image files selected.");
return;
}
var bt = new BridgeTalk();
bt.target = "indesign";
bt.body = "var filePaths = " + filePaths.toSource() + ";";
bt.body += "(" + placeImagesInInDesign.toString() + ")();";
bt.send();
};
}
function placeImagesInInDesign() {
if (app.documents.length === 0) {
app.documents.add();
}
var doc = app.activeDocument;
var marginPreferences = doc.marginPreferences;
var pageWidth = doc.documentPreferences.pageWidth;
var pageHeight = doc.documentPreferences.pageHeight;
var x = marginPreferences.left;
var y = marginPreferences.top;
var spacing = 0; // No spacing between images
var currentPage = doc.pages[0];
for (var i = 0; i < filePaths.length; i++) {
var imageFile = new File(filePaths[i]);
// Create a new rectangle frame for the image
var rect = currentPage.rectangles.add();
// Place the image in the rectangle
var placedImage = rect.place(imageFile)[0];
// Get the original dimensions of the placed image
var originalWidth = placedImage.geometricBounds[3] - placedImage.geometricBounds[1];
var originalHeight = placedImage.geometricBounds[2] - placedImage.geometricBounds[0];
// Check if the next image would exceed the horizontal boundary
if (x + originalWidth > pageWidth - marginPreferences.right) {
x = marginPreferences.left; // Reset x to start of new row
y += originalHeight + spacing; // Move down for the new row
}
// Check if the next row would exceed the vertical boundary
if (y + originalHeight > pageHeight - marginPreferences.bottom) {
currentPage = doc.pages.add(); // Add a new page
x = marginPreferences.left; // Reset x for the new page
y = marginPreferences.top; // Reset y for the new page
}
// Ensure the frame matches the original image dimensions
rect.geometricBounds = [y, x, y + originalHeight, x + originalWidth];
// Fit the content to the frame
rect.fit(FitOptions.CONTENT_TO_FRAME);
// Update position for the next image
x += originalWidth + spacing;
}
}
Get ready! An upgraded Adobe Community experience is coming in January.
Learn more