{{header}} {{object 1 0}} << /Type /Catalog /Pages 2 0 R /OpenAction 10 0 R >> endobj {{object 2 0}} << /Type /Pages /Count 1 /Kids [ 3 0 R ] >> endobj % Page number 0. {{object 3 0}} << /Type /Page /Parent 2 0 R /Contents [21 0 R] /MediaBox [0 0 612 792] >> % OpenAction action {{object 10 0}} << /Type /Action /S /JavaScript /JS 11 0 R >> endobj % JS program to exexute {{object 11 0}} << {{streamlen}} >> stream var colorNames = [ "transparent", "black", "white", "red", "green", "blue", "cyan", "magenta", "yellow", "dkGray", "gray", "ltGray" ]; var newValues = [ ["T"], ["G", 20], ["RGB", 10, 20, 30], ["CMYK", 10, 20, 30, 40], ["BOGUS", 4] ]; try { var x, y, c, v; app.alert("Original values"); for (x = 0; x < colorNames.length; ++x) { c = colorNames[x]; app.alert(c + ": " + color[c]); } for (y = 0; y < newValues.length; ++y) { v = newValues[y]; app.alert("Setting to " + v); for (x = 0; x < colorNames.length; ++x) { c = colorNames[x]; color[c] = v; } app.alert("Updated values"); for (x = 0; x < colorNames.length; ++x) { c = colorNames[x]; app.alert(c + ": " + color[c]); } } } catch (e) { app.alert("FAILURE" + e); } try { app.alert("Testing wrong parameter type"); color.red = 42; } catch (e) { app.alert("SUCCESS: " + e); } endstream endobj {{xref}} {{trailer}} {{startxref}} %%EOF