注册充值 脚本imgs2pdf.jsx

//调用[Folder]的[selectDialog]命令,弹出文件夹选择窗口。
//提示用户选择要发送的所有图片所在的文件夹,并将文件夹存储在变量[inputFolder]中。
var inputFolder = Folder.selectDialog(“选择导入的文件夹:”);

//定义一个变量[maxWidth],表示宽度最大的那张图片的宽度像素值。
var maxWidth = 0;

//定义一个变量[totalHeight],表示所有图片的高度的和。
var totalHeight = 0;

//定义一个变量[fileList],表示用户选择的文件夹下的所有图片。
var fileList = inputFolder.getFiles();

var resolution = 72;
//添加一个循环,用来遍历所有图片。
for (var i = 0; i < fileList.length; i++)
{
//判断如果图片是正常文件,并且是非隐藏模式,则继续后面的操作。
if (fileList[i] instanceof File && fileList[i].hidden == false)
{
//打开图片,并将打开后的文档赋予变量[doc]。
var doc = app.open(fileList[i]);

//将变量[totalHeight]和遍历到的图片的高度相加,这样就能计算出所有图片的高度和。
totalHeight += doc.height;

//如果遍历到的图片的宽度大于变量[maxWidth]的值,就更新[maxWidth]的值为当前遍历到图片的宽度。
//这样就能得到所有图片的最大宽度。
if(doc.width > maxWidth)
maxWidth = doc.width;

if(doc.resolution > resolution)
resolution = doc.resolution;
//获得总体高度和最大宽度后,就可以把文档关闭掉了。
doc.close();
}
}

//添加一个新文档,它的宽度是上面获得的所有图片的最大宽度,高度是所有图片的高度和。
var pdfDoc = app.documents.add(maxWidth, totalHeight, resolution, “myPDF”, NewDocumentMode.RGB);

//定义一个变量[nextTop],表示图片拼合到新文档后,所处的位置到文档顶部的距离。
var nextTop = 0;

//添加一个循环,用来遍历所有图片。
for (var i = 0; i < fileList.length; i++)
{
//判断如果图片是正常文件,并且是非隐藏模式,则继续后面的操作。
if (fileList[i] instanceof File && fileList[i].hidden == false)
{
//打开图片,并将打开后的文档赋予变量[doc]。
var doc = app.open(fileList[i]);

//将打开的图片的活动图层拷贝到内存。
doc.activeLayer.copy();

//将注册充值的活动文档,切换至新创建的pdf文档。
app.activeDocument = pdfDoc;

//将内存中的图像粘贴到pdf文档中,它的默认位置是pdf文档的中心位置。我们需要把它移动到合适位置。
app.activeDocument.paste();

//获得通过粘贴获得的当前图层的边框信息。
var bounds = app.activeDocument.activeLayer.bounds;

//判断[nextTop]变量的值如果是0,即第一次粘贴图片到pdf文档,则把粘贴的图片移至pdf文档的顶端。
if(nextTop == 0)
app.activeDocument.activeLayer.translate(0, 0 – parseInt(bounds[1]));
else
{
//之后粘贴的图片,则把新粘贴图片的顶边距,设置为上一次粘贴图片的顶边距与上一次粘贴图片的高度的和。
app.activeDocument.activeLayer.translate(0, nextTop – parseInt(bounds[1]));
}

//每次粘贴图片后,都把[nextTop]的值与当前粘贴图片的高度相加,作为下次粘贴图片的顶边距。
nextTop += parseInt(bounds[3]) – parseInt(bounds[1]);

//当图片粘贴到pdf文档后,关闭图片原始文档。
doc.close();
}
}

//调用[Folder]的[selectDialog]命令,弹出文件夹选择窗口,提示用户选择输出pdf文档的文件夹。
//并将文件夹存储在变量[outputFolder]中。
var outputFolder = Folder.selectDialog(“请选择输出的文件夹:”);

//定义一个变量[file],作为pdf文档输出的路径。
var file = new File(outputFolder + “/output.pdf”);

//定义一个变量[options],作为导出pdf文件的存储模式。
var options = new PDFSaveOptions();

//调用[padfDoc]的[saveAs]方法,把pdf文档导出为pdf图片。
pdfDoc.saveAs(file, options, true, Extension.LOWERCASE);
//pdfDoc.close(SaveOptions.DONOTSAVECHANGES);

«