Hi,
it seems you have an older version. In the latest you can choose if you only want to print Date and filename only.
The latest version you can download from:
http://www.Refob.de/downloads/acrobat/SetRemoveFooter.js
If you have the old version I assume you can delete or comment out (= write // in the front of the text) this lines:
var fp = this.addField(String("page"+p+1), "text", p, [330,10,280,28]); //<- this set up the page number file
fp.textSize=8; fp.value = "Page: " + String(p+1)+ "/" + this.numPages; //<- this fomat the page number field
If that not help, please copy in the js-code you work with, so also other with a more compareable working time, can give you the small changes.
best regards, Reinhard
Thanks, I have allready changed those two lines.
But I would also get rid of all lines that is about page numbers, because I will not use that.
How to change the line : fd.value = util.printd .........................
to show the full path first an then the date?
Thanks in advance!
Best regards
Arne
Reinhard,
Dies ist eine sehr gute Arbeit!
I have read this thread with interest since I nioticed it today and have placed your JavaScript in my Acrobat 6.0 install folder. I have been able to make modifications to the components of the footer (date format, adding PRELIMINARY to the textstring, changing text size). It works very well and gives me a new tool for identifying preliminary versions of manuals.
Would you explain how to change the location of the footer? I would like to place it a little higher on the page.
BTW, I noticed that Acrobat has a feature called Add Headers & Footers but it is much more time consuming to use and does not have the flexibility, ease of use, and performance of your script.
Danke,
Michael F
=======
Danke Michael,
habe einfach nicht die Zeit es mal komplett - mit mehr Optionen - zu überarbeiten.
"Would you explain how to change the location of the footer? I would like to place it a little higher on the page."
You can inrease the y-coordinates: upper left (y1) and lower right (y2):
If you want the field 10 Pts higher you can change:
var fd = this.addField("xftDate", "text", p, [30,15, TotWidth-30-30,30]);
to
var fd = this.addField("xftDate", "text", p, [30,15+10, TotWidth-30-30,30+10]);
The difference between y1 and y2 is the field hight.
The calculation for the field placing on the page start at lower left corner (= 0).
HTH, Reinhard
This goes both to ReinhardF and Michael314!
I'm a total novise as far as programming is concerned. I have ReinhardF's javascript and it works perfect i AA X.
I wonder if some of you experts could make me a Javascript that show the full file path and nothing else on the first page only of a document as a footer.
Please give me the option of choosing between left, center or right position.
Thanks!!!!
Best regards
Arne
Arne,
Reinhard did give you a hint back in post 124.
Change the fd.value statement to this:
fd.value = "Path: " + Path;
When you open the PDF file and select any of the Set Date... commands, it will insert only the file path.
I think the pages affected are controlled by this statement but I don't know how to adjust it.
for (var p = 0; p < this.numPages; p++)
Yours,
Michael F
=======
"I think the pages ..." thats correct.
@ Arne
Change:
for (var p = 0; p < this.numPages; p++)
to
for (var p = 0; p < 1; p++)
to get it only on the first page, or:
for (var p = 1; p < this.numPages; p++)
to get it on all, but not on first.
The second question: "Please give me the option of choosing between left, center or right position" astonished me. It's already in the menu selection. I think at least you can test the script before asking.
best regards, Reinhard
Hello ReinhardF
great script, just does what I expected. One Question
Line:
| & " | fd.textSize=6; "&vbLF _ |
I changed Textsize to 10 and it works fine, but is there a possibility to get the textstyle bold? I tried:
| & " | fd.textStyle=bold; "&vbLF _ |
but didn't work. I don't to the Scripting Parameters so I ask in this Forum.
Hi,
there exists no property "textStyle". You have to choose a font in bold. So font: font.TimesB, font.HelvB, font.CourB
###can be used. If you add a I at the end it will be bold+Italic.
So you can Write (in above VBS file):
&" fd.textSize=10; fd.textFont = font.TimesB; "&vbLF_
Pay attention to the point that JS is case sensitive.
Load down the AcroJs.pdf helpfile and have a look at the Field Object -> Field properties.
So you may use textColor or fieldBorder or ...
Good luck, Reinhard
PS: That just gives me the idea to change the VBS-files so that the js-variable will be set by reading saved poor JS-Code.
That avoid the change to vbs-writing (&" "&vbLF), the js-code could directly tested in the acrobat-js-console and all saved versions could be executed by selecting the file. I think I will put it on my list.
Reinhard,
To give users some variety, they can also use non-bold fonts, so brief font list looks like this:
fd.textFont = fontname;
where fontname can be:
font.Times
font.TimesB
font.Helv
Font.HelvB
font.Cour
font.CourB
We're taqlking about text in a footer, so you should not need more variety than this.
Yours,
Michael F
========
@Arne
simple delete or comment out (like as follow) these lines:
// app.addMenuItem({ cName: "Set Page ", cParent: "Footer", cExec: "SetFooter(4)"});
// app.addMenuItem({ cName: "Set Both", cParent: "Footer", cExec: "SetFooter(5)"});
// app.addMenuItem({ cName: "Remove Both", cParent: "Footer", cExec: "RemoveFooter(5)"});
// app.addMenuItem({ cName: "Remove Page", cParent: "Footer", cExec: "RemoveFooter(4)"});
The statement cName:"..xxx.." is only the menu item display name. So you change it for rest to whatever you want-
Good luck, Reinhard
@Reinhard
Thank you very much for your useful script and your helpful replies to users questions here. This will streamline my workflow 100x
I've taken the script in AA X and modified page position to fit specific documents.
As a quick guide to help others, initially I didn't have a good grasp on the placement syntax and would like to share with others here what I "figured out".
[10,30,545,40]
10 = Places the start of the text box 10 pixels from the left most edge (x1 coordinate) of the document
30 = Places the bottom of the text box 30 pixels from the bottom (y1 in your post) edge of the document
545 = Places the end of the text box 545 pixels from the left most edge (x2 coordinate) of the document (ie. 535 pixel wide text box, starting 10 pixels from left most edge)
40= Places the top of the text box 40 pixels from the bottom edge (y2 in your post) of the document (ie. 10 pixel high text box)
Is this logic correct?
Also, I plan to share this with other collegues in my office, I would like to put the following header in the script, with your permission. If you would like me to add any other credit text, please post it or send via PM
//Original script written by ReinhardF, Nov 13, 2006
//For specific questions, visit http://forums.adobe.com/thread/302996?tstart=0
Thanks again!
Is there a way to rotate the text 90 degrees?
I have documents that have text at the top most and bottom most part of the page, but an inch of whitespace on the right hand side.
What I'm hoping to do is have text run along the right-hand side and when the page is in a 3-ring binder, the text is running LR reading order starting in the lower right corner, running up to the top right side of the page.
Thanks
Hi,
"Is this logic correct?" -> Yes it is.
"Also, I plan to share" -> No problem.
"Is there a way to rotate the text 90 degrees?" No problem : fd.rotation=90
found at; AcroJs.pdf Field object -> Field property =>rotation
"have text run along the right-hand side " Not realy a porblem, you need: var TotHeight = aRect[1] - aRect[3];
found at; AcroJs.pdf Doc object -> Doc methods = > getPageBox
With that you have all information to set it als header, in the middle or wherever you want.
Good luck, Reinhard
Hi ReinhardF!
I have tried to modify the script to meet my needs, that is ONLY the filepath to be shown on the first page only, no need for page number or date.
My script looks like this:
app.addSubMenu({ cName: "Footer", cUser: "File Path", cParent: "fil", nPos: 20});
app.addMenuItem({ cName: "Left", cParent: "Footer", cExec: "SetFooter(1)"});
app.addMenuItem({ cName: "Center", cParent: "Footer", cExec: "SetFooter(2)"});
app.addMenuItem({ cName: "Right", cParent: "Footer" , cExec: "SetFooter(3)"});
app.addMenuItem({ cName: "Remove", cParent: "Footer", cExec: "RemoveFooter(1)"});
function SetFooter(ARG)
{
var re = /.*\ / | \ .pdf$/ig;
var Path = this.path;
var Box2Width = 50
for (var p = 0; p < 1; p++)
{
var aRect = this.getPageBox("Crop", p);
var TotWidth = aRect[2] - aRect[0]
if (ARG<=3 | | ARG ==9)
{ var fd = this.addField("xftDate", "text" , p, [30, 15, TotWidth-30-30, 30]);
fd.value = Path;
fd.textSize=6; fd.readonly = true;
if (ARG==1){ fd.alignement="left" };
if (ARG==2){ fd.alignement="center" };
if (ARG==3){ fd.alignement="right" };
}
if (ARG==4 | | Arg==5 | | ARG==9)
{ var bStart=(TotWidth/2)-(Box2Width/2)
var bEnd=((TotWidth/2+8Box2Width/2))
if (ARG==5){var bStart=8TotWidth-Box2Width-30); var bEnd=(TotWidth-30);}
var fp = this.addField(String("xftPage"+p+1), "text" , p, [bStart, 30, bEnd, 15]);
}
}
}
Function RemoveFooter(ARG)
{
if (ARG<=3 | | ARG===9) {var x = this.removeField("xftDate");}
}
Is ther anything more I can remove from this script, and still make it to work for the file path only?
Just to reduse the script to a minimum.
Thanks from Arne!
"Is ther anything more I can remove from this script"
Sure, take this:
app.addSubMenu({cName: "Footer", cUser: "File Path", cParent: "File", nPos: 20});
app.addMenuItem({cName: "Left", cParent: "Footer", cExec: "SetFooter(1)"});
app.addMenuItem({cName: "Center", cParent: "Footer", cExec: "SetFooter(2)"});
app.addMenuItem({cName: "Right", cParent: "Footer" , cExec: "SetFooter(3)"});
app.addMenuItem({cName: "Remove", cParent: "Footer", cExec: "this.removeField('xftDate');"});
function SetFooter(ARG)
{
var Path = this.path;
var Box2Width = 50;
var page = 0;
var aRect = this.getPageBox("Crop", page);
var TotWidth = aRect[2] - aRect[0];
var fd = this.addField("xftDate", "text" , page, [30, 15, TotWidth-30-30, 30]);
fd.value = Path;
fd.textSize = 6;
fd.readonly = true;
if (ARG==1){fd.alignement="left"};
if (ARG==2){fd.alignement="center"};
if (ARG==3){fd.alignement="right"};
}
best regards, Reinhard
Reader don't can add fields - only fill existing.
Only with Reader you can use a freeware tool like BeCyPdfAsm (http://www.becyhome.de/news_eng.htm) to set a footer.
best regards, Reinhard
Mr. Reinhardf Im using your script and I will like to change the code a little bit in order to get just some parts of the path,
Ex. my actual path is something like /1/2/3/4/5/abc.pdf and will like to change the footer to something like 4/5/abc.
1/2/3 will be always the same part of the path; all documents are in the same drive.
I know I need to change this part of you code
var re =/.*\/|\.pdf$/ig;
var FileNM = this.path.replace(re,"")+".pdf";
var Path = this.path;
But I can’t get what I want.
Any help will be appreciated
North America
Europe, Middle East and Africa
Asia Pacific