Adobe Acrobat crashes when changing OCG (Layer) properties via javascript
I work with quite a few layers (aka OCGs / optional content groups) in order to have multiple locales within the same document. I wrote a few scripts that help to lock layers (so they cannot be made visible from within the UI), and to show or hide layers (based on a pattern matching of their name). These functions basically loop through all layers and conditionally chage the locked, state or initState properties is this kind of way:
- this.getOCGs().locked = true;
- this.getOCGs().state = isVisible;
- this.getOCGs().initState = isVisible;
Now, at about 40 to 50 layer property manipulations (no matter if the same layer or different layers), Acrobat simply crashes. These crashes were consistantly reproducable on any version since Acrobat X (Reader and Pro), both on Mac and Windows (whereas the Windows Version seems to allow a few more manipulations).
Is there any known workarround? If not, how can we paying customers make Adobe fix this as quickly as possible?
Thanks
Dirk
Update: acutally, not just property manimullation causes the issue. Simple read-access already leads to the crashes. Create a PDF with some 50-60 layers and run the following code:
for (i=0; i<this.getOCGs().length; i++) {
var showLayer = false;
for (var x = 0; x < 6; x++) // increase the loop count if you have less than 50 layers / OCGs
{
var layerState = this.getOCGs().state;
console.println("Layer #"+i+", state=["+layerState+"], loop #" +x);
}
}
