Adobe Acrobat Pro DC设置PDF三位数页码JS
前言:最近项目完工,需要整理项目资料,现在大部分都是要求电子版本的文件有页码切符合监理单位的要求。
但是这个软件在添加多位数页码时,会自动增长位数导致我们不想要的结果。故折腾了半天,总结下过程,如有大佬有更好的办法欢迎提出。
注意:代码的插入页码不可修改(代码中编辑了读写属性),所以最好在编辑文件前先复制一份在复制的备份文件上面调整参数 完善后再在正式文件中使用 。
1、首先你得有软件,百度下载即可。我使用的是 
2、添加JavaScript工具到右侧,便于使用。
打开软件Adobe Acrobat DC ,点击“工具”,下拉到 “自定义” ,找到“JavaScript”点击
“添加”,发现图标发送到了右侧菜单。
3、对文件进行页码设置。
点击右侧“JavaScript”,
点击“选择文件“,打开需要添加页码的文件(复制原文件一份做代码调试打开复制件),
点击上方的“文档动作”,
点击“文档已保存” ,
点击“编辑“,复制代码到“JavaScript编辑器”中
代码如下(横线当中):
—————————————————————————————————————————
for (var i = 0; i < this.numPages; i++) {
// 循环遍历每一页
var pageNum = i + 1;
// 计算实际页码,从1开始(PDF页面索引从0开始,所以需要加1)
var formattedNum = ('00' + pageNum).slice(-3);
// 将页码格式化为三位数,例如1会变成"001",10会变成"010"
var fieldName = "PageNumber" + i;
// 根据当前页面索引创建唯一的字段名称,例如"PageNumber0"、"PageNumber1"等
// 获取页面尺寸
var pageRect = this.getPageBox("Crop", i);
// 获取第 i 页的页面框(实际索引是 i)
var x = pageRect[2] - 40;
// 右边距,距离页面右边缘40个单位(根据需要可以调整)
var y = 30;
// 底边距,距离页面底部30个单位(根据需要可以调整)
// 添加表单字段来保存格式化后的页码
this.addField(fieldName, "text", i, [x - 20, y, x + 20, y + 15]);
// 在第 i 页的位置[x - 20, y]到[x + 20, y + 15]添加一个文本字段,用于显示页码
// 设置表单字段的值为格式化后的页码
this.getField(fieldName).value = formattedNum;
// 设置字段外观
this.getField(fieldName).textSize = 12;
// 字体大小设置为12
this.getField(fieldName).alignment = "center";
// 文本居中对齐
this.getField(fieldName).textColor = color.black;
// 文字颜色设置为黑色
this.getField(fieldName).readonly = true;
// 设置字段为只读,禁止用户编辑
// 每一页处理完毕后继续下一页
}
——————————————————————————-———————————————
点击“确定“,”确定“。
键盘按键:”Ctrl+S” 页码就上去了。
上述代码的作用就是:在文件保存后调用代码,执行插入页码操作,好处是在文件保存后,你关闭文件时候可以选择是否保存JS代码编辑的页码。
4、但是这里有个新问题,文件的最后一页页码不一致,解决这个问题。
插播:采纳评论区zxcO的意见,在开始前给PDF添加一页空白页,最后删除。省时省力。
插播:采纳评论区zxcO的意见,在开始前给PDF添加一页空白页,最后删除。省时省力。
插播:采纳评论区zxcO的意见,在开始前给PDF添加一页空白页,最后删除。省时省力。
或者如下进行修改(繁琐)。
打开“原文件”,点击“编辑PDF”
点击 “页眉和页脚“,鼠标单击“右侧页脚文件”,点击“插入页码”,在右侧页脚文本栏中前面添加“00”使变为如下图圈中所示,调整方框中内容使得插入的页码和JS代码插入的页码相同或相似。(可以同时打开两个PDF对比)
完成后 点击右侧的 “组织页面“ ,再次点击“编辑PDF” ,直接划到最后一页。修改页面为正确页码,并拖动“页码”右移一位(你刚刚删除了一位数),再次点击“组织页面”,复制最后一页正确的页码页面。切换到加页码的文件,拉到最后一页,粘贴刚刚复制的页面。删除错误的页码页面。点击右侧“JavaScript”,找到添加的代码,删除刚刚设置的代码。保存文件即可。(源文件不保存保存源文件状态)
至此三位数的页码添加完成,切格式正确。
最后:
1、要是有多个小文件需要做页码且都是连续的 可以先合并PDF文件,再通过JS添加生成页码,再分割(合并文件,组织页码两个模块的功能可以实现)。
2、要是有大佬有直接生成3位数页码的代码,且最后一页页码正确的代码也可以分享下,也就不用这样折腾了。