我有一个脚本可以扫描所有图像类型的文档,将它们全部转换为黑白,然后将黑白图像导出到新文件夹。
InDesign CS5 /脚本:我可以将TIFF和PNG图像转换为“黑白”吗?
看来,如果InDesign中会导出这些图像文件格式:
JPEG, TIFF, and PNG
(它
不出口GIF文件)。
然而,似乎InDesign不具有TIFF和PNG文件
ColorSpace.GRAY
或
ColorSpaceEnum.GRAY
特性(它
确实具有这种属性的JPEG文件,虽然)。
那么,有没有一种方法,TIFF和PNG文件转换为黑白 在InDesign的Extendscript?
如果有而不是,那么为这些文件类型不提供 黑白转换的原因是什么?
这里是我的代码,即截至目前出口只有黑色和白色JPEG文件:
var document = app.activeDocument;
var newFolder = createFolder(document); // if subdirectory DNE, create this folder with the function below
saveAllImages(document, newFolder); // with the function below
function createFolder(doc)
{
try
{
/*
* type-casting the filePath property (of type object) into a String type;
* must be a String type to concatenate with the subdirectory variable (also of type String)
*/
var docPath = String(doc.filePath);
var subdirectory = "/BLACK AND WHITE IMAGES";
}
catch(e)
{
alert(e.message);
exit();
}
var imagesFolder = docPath + subdirectory; // concatenating the two variables
if(!Folder(imagesFolder).exists)
{
Folder(imagesFolder).create();
}
return imagesFolder; // for instantiation outside of this function
} // end of function createFolder
function saveAllImages(doc, folder)
{
var imgs = doc.allGraphics;
var fileName = "";
var img = "";
var imgType = "";
for(var i = 0; i < imgs.length; i++)
{
if(imgs[i].itemLink != null)
{
fileName = imgs[i].itemLink.name;
img = new File(folder + "/" + fileName); // each image instantiated here
imgType = imgs[i].imageTypeName; // image type is determined here (.tif, .jpg, .png, etc..)
alert("This is a " + imgType + " file.");
/*
* array for image options, instantiated from the function below;
* options[0] is the "MAXIMUM" image quality property, &
* options[1] is the "GRAY" image conversion property;
*/
var options = convertToBlackAndWhite(imgType);
// each image exported to the new folder here, by file type
switch(imgType)
{
case "GIF":
alert("This script cannot convert and export the GIF file:\n\t" + fileName + " !");
break;
case "TIFF":
case "EPS":
case "JPG":
options[0]; // maximum image quality
options[1]; // black & white conversion
imgs[i].exportFile(ExportFormat.JPG, img, false);
break;
case "PNG":
options[0]; // maximum image quality
options[1]; // black & white conversion
imgs[i].exportFile(ExportFormat.PNG_TYPE, img, false);
break;
default:
alert("\tUnlisted image type: " + imgType + "!\nAdd this type to the switch statement.");
break;
} // end of switch statement
} // end of if statement
} // end of for loop
} // end of function saveAllImages
function convertToBlackAndWhite(fileType)
{
// array for image-quality and color-conversion values
var settings = [];
// each image exported to the new folder here, by file type
switch(fileType)
{
case "TIFF":
case "PNG":
case "EPS":
case "JPG":
settings[0] = "app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.MAXIMUM"; // maximum image quality
settings[1] = "app.jpegExportPreferences.jpegColorSpace = JpegColorSpaceEnum.GRAY"; // black & white conversion
break;
default:
break;
} // end of switch statement
return settings; // for instantiation outside of this function
} // end of function convertToBlackAndWhite
嗯好吧,以及你所说的在Photoshop中格式化文件可能更希望无论如何,所以我正在研究使用'BridgeTalk'对象(我在这里找到了一个很好的参考:http://forums.adobe。 COM /消息/ 3334670#3334670)。谢谢@Loic!当我想出来的时候我会发布我的代码... –