Skip to main content
robertt87769452
Participating Frequently
November 26, 2019
Question

Change fill color with Javascript

  • November 26, 2019
  • 1 reply
  • 1738 views

Hi.

I have pdf files with lots of markups (rectangles, ovals) and would like to use Javascript to automatically change their fill color to none and line thickness to 2 pt. Can someone help me out with the code?

Thanks!

This topic has been closed for replies.

1 reply

robertt87769452
Participating Frequently
November 26, 2019

OK, here's what I got so far:

 

this.syncAnnotScan();
var annots = this.getAnnots();
for (var i = 0; i < annots.length; i++)
if (annots[i].type == "Circle" || "Square") annots[i].width = 2, annots[i].fillColor = color.transparent;

 

Now there is just one issue with this script, it also somehow applies the properties to polygon objects. When I run the script individually for circle and square, it works fine. When both are listed as above, the polygon gets changed, too. 

robertt87769452
Participating Frequently
November 26, 2019

OK, small syntax error. Here's the working script:

 

this.syncAnnotScan();
var annots = this.getAnnots();
for (var i = 0; i < annots.length; i++)
if (annots[i].type == "Circle" || annots[i].type == "Square") annots[i].width = 2, annots[i].fillColor = color.transparent;

Thom Parker
Community Expert
Community Expert
November 27, 2019

You are very close. 

 

this.syncAnnotScan();
var annots = this.getAnnots();
for (var i = 0; i < annots.length; i++)
{
     if (annots[i].type == "Circle" || annots[i].type == "Square")
     {
            annots[i].width = 2;
            annots[i].fillColor = ["T"];
      }
}
Thom Parker - Software Developer at PDFScriptingUse the Acrobat JavaScript Reference early and often