Looking at bookmarks I created in Adobe Pro 8, they are stored in plain text somewhere in the file, as two separate objects. For example, a bookmark for 400% zoom named "SomeBookmark400percent" might come up as
178 0 obj
<</Parent 177 0 R/A 179 0 R/Title(SomeBookmark400percent\r)>>
endobj
179 0 obj
<</D[447 0 R/XYZ 0 792 4.0]/S/GoTo>>
endobj
The first object (#178) contains the name of the bookmark and a reference "R/A" to the second object (#179) which defines what you'll be looking at: XYZ "0 792" (measured from bottom left of the page, not sure which units) with zoom "4.0" i.e. 400%.
For a second bookmark with zoom set to "actual size", named ActualSizeBookmark:
471 0 obj
<</D[449 0 R/FitR -134 133 745 792]/S/GoTo>>
endobj
472 0 obj
<</Parent 177 0 R/A 471 0 R/Next 179 0 R/Prev 178 0 R/Title(ActualSizeBookmark\r)>>
endobj
So the second object (#472) contains the Bookmark name "ActualSizeBookmark" and refers via "R/A" to the first object (#471), which contains the command "FitR -134 133 745 792" (numbers are probably again coordinates).
In my tests, replacing the regular expression
/FitR [0-9]* [0-9]* [0-9]* [0-9]*]
with the string
/XYZ 0 792 1.0]
successfully turned all "Actual Size" bookmarks into "Zoom 100%" bookmarks. Of course you'll end up with all bookmarks at position x=0,y=792 on their respective page. If you want bookmarks to not modify zoom, use "zoom 0", i.e. replace with
/XYZ 0 792 0.0]
Don't try this without making a backup copy. In my tests, file length did not have to remain constant, but you need to use an editor which doesn't mess with other (possibly binary) content of the PDF.
how about removing the zoom entirely so that it will match whatever the zoom is already set to? that's more what i was trying to do.. or does zoom 1.0 behave that way? – Damon – 2011-04-04T17:16:03.070
No, zoom 1.0 means zoom to 100%. In a quick test, zoom 0.0 seems to do what you want (i.e. not modify your current zoom). I'll modify my answer... – Jonas Heidelberg – 2011-04-04T17:47:31.177