论坛帮助 |
社区圈子 |
日历事件 |
2018-09-22, 14:07 | 只看该作者 #2 | |||
|
||||
正式会员
等级: 七袋长老
|
|
|||
右列会员因为此帖价值甚高向 Liuyilai 表示感谢: |
mx48960983 (2018-09-22)
|
2018-09-25, 15:26 | 只看该作者 #4 | |||
|
||||
正式会员
等级: 五袋长老
|
代码:
//作者:五谷子 //建立日期:2017年12月16日 //更新日期:2017年12月17日 //说明: //这个脚本可以把页面上的矩形框架缩放到页面边距的大小 //遗憾的是不能以群组的方式来缩放 //所以这个脚本还只是适合在大批量导入PDF, //并且,需要调整PDF的尺寸,来适应页面尺寸,的情况来使用 //设置 //框架尺寸位置调整选项 //1.适合到页面;2.适合到边距 var setOP1=2; //框架内容如何适合 //~case 1:内容拉伸适合框架 //~ case 2:内容居中 //~ case 3:按比例适合框架 //~ case 4:框架适合内容按比例填充框架 //~ case 5:按比例填充框架 //~ case 6:应用框架适合属性 var setOP2=3; main(); function main() { var myDoc=app.activeDocument; for(var i=0; i<myDoc.pages.length; i++) { for(var j=0; j<myDoc.pages[i].allPageItems.length; j++) { if(myDoc.pages[i].allPageItems[j].constructor.name=="Rectangle") { setSize (myDoc.pages[i], myDoc.pages[i].allPageItems[j], setOP1); myFitOtions (myDoc.pages[i].allPageItems[j], setOP2); } } } return 0; } //调整框架位置尺寸,参数表:(页面对象,操作对象,操作方法选择) function setSize(page, obj, op) { //获取页面的坐标 var pageY1=page.bounds[0]; var pageX1=page.bounds[1]; var pageY2=page.bounds[2]; var pageX2=page.bounds[3]; //获取页面的宽高 var pageWidth=Math.round (pageX2-pageX1); var pageHeigth=Math.round (pageY2-pageY1); //获取页面的边距 var pageMarginTop=page.marginPreferences.top;//上边距 var pageMarginBottom=page.marginPreferences.bottom;//下边距 var pageMarginLeft=page.marginPreferences.left;//左边距 var pageMarginRight=page.marginPreferences.right;//右边距 //边距的坐标[y1, x1, y2, x2] var pageMarginBoundNumbers=[pageY1+pageMarginTop, pageX1+pageMarginLeft, pageY2-pageMarginBottom, pageX2-pageMarginRight]; switch(op) { case 1://适合到页面 obj.visibleBounds=page.bounds; break; case 2://适合到边距 obj.visibleBounds=pageMarginBoundNumbers; break; default: } return 0; } //内容填充方式,参数表:(操作对象,操作方法选择) function myFitOtions (obj, op) { switch(op) { case 1: obj.fit(FitOptions.CONTENT_TO_FRAME);//内容拉伸适合框架 break; case 2: obj.fit(FitOptions.CENTER_CONTENT);//内容居中 break; case 3: obj.fit(FitOptions.PROPORTIONALLY);//按比例适合框架 break; case 4: obj.fit(FitOptions.FRAME_TO_CONTENT);//框架适合内容 break; case 5: obj.fit(FitOptions.FILL_PROPORTIONALLY);//按比例填充框架 break; case 6: obj.fit(FitOptions.APPLY_FRAME_FITTING_OPTIONS);//应用框架适合属性 break; default: } } //对象自身的缩放 function myPageItemScaling(obj, VScale, HScale) { obj.verticalScale=VScale;//垂直缩放率,默认100 obj.horizontalScale=HScale;//水平缩放率,默认100 } |
|||