Copy link to clipboard
Copied
To make life easier for our users we have created a button in Adobe that allows the user to save the file in a shared drive with a single click.
// checkFD function checks to make sure the user has access to the shared drive
function checkFD(){
var checkd = false;
var checkn = false;
app.beginPriv();
try{
//checks for the file
this.importDataObject("myFile", "/192.168.3.57/checkthisfile.txt");
var myData = this.getDataObject("myFile");
}catch(e){
//alerts user if the shared drive is not found
app.alert("F Drive not found, please establish VPN connection to office before using button.");
app.endPriv();
return;
}
while (checkd == false){
//it asks the user to enter two parameters for the file name - deal number and document name
var d = app.response("Enter Deal Number:", "Enter Deal Number", "");
if (d && d.length > 0){
var temp = d.replace(/[|&*;$%@"<>+,]/g, "");
if (temp.length != d.length){
// it checks for special characters
app.alert("Special characters detected, please do not use symbols such as |&*;$%@<>+,.");
}else{
checkd = true;
}
}else if (d == ""){
// it checks if the user entered blank
app.alert("No Deal Number was entered.");
}else if (d == null){
//cancel
checkd = true;
app.endPriv();
return;
}
}
while (checkn == false){
var n = app.response("Enter Document Name:", "Enter Document Name", "");
if (n && n.length > 0){
var temp = n.replace(/[|&*;$%@"<>+,]/g, "");
if (temp.length != n.length){
app.alert("Speical characters detected, please do not use symbols such as |&*;$%@<>+,.");
}else{
checkn = true;
}
}else if (n == ""){
app.alert("Please enter valid Document Name.");
}else if (n == null){
//cancel
checkn = true;
app.endPriv();
return;
}
}
try{
// it calls the savePDF fucntion if all conditions are met
savePDF(d, n);
}catch (e){
app.alert("Folder not found, please ensure Folder exists on F Drive.");
app.endPriv();
return;
}
app.endPriv();
}
function savePDF(d, n){
//it renames the file with the parameters
var fname = n + "-" + d + ".pdf";
var dr = d.substring(0,2);
if (dr == "DR"){
//if the file starts with the letters DR it saves them here
var fpath = "/c/testpdf/DR/" + d + "/" + fname;
}else{
//if the file doesn't start with DR it saves them here
var fpath = "/c/testpdf/Existing/" + d + "/" + fname;
}
// it saves the file to the shared drive
this.saveAs(fpath);
}
//Un-Comment this to enable Console Menu Item (For Debugging)
//app.addMenuItem({cName:"Console Window", cParent:"View", cExec:"console.show()"});
app.addMenuItem({cName:"Save to F Drive", cParent:"File", nPos:9, cExec:"checkFD()"});
//Doesn't work for current versions of DC
//app.addToolButton({cName:"myButton", cToolText:"Save to F Drive", cExec:"checkFD()"});
However, when using the SaveAs command we realize it isn't compressing the PDF like just a normal Save in Acrobat would do - so for example a file saved through the normal adobe Save As script is about 850KB - a file saved through my javascript above is about 34MB.
are there any JS commands that will compress the file as it is being saved?
Thanks
Shane Kelly
Copy link to clipboard
Copied
Unfortunately, no.
Copy link to clipboard
Copied
Did you test this script with Acrobat Reader and with Acrobat Pro?
The first one sometimes lacks the functions found in the second.
Copy link to clipboard
Copied
Yes - we have tried it with both.