Welcome Dialog

Welcome to the Community!

We have a brand new look! Take a tour with us and explore the latest updates on Adobe Support Community.


Change fill color with Javascript

Community Beginner ,
Nov 26, 2019 Nov 26, 2019

Copy link to clipboard

Copied

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!

TOPICS
Acrobat SDK and JavaScript, Comment review and collaborate PDF, How to

Views

134

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Nov 26, 2019 Nov 26, 2019

Copy link to clipboard

Copied

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. 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Nov 26, 2019 Nov 26, 2019

Copy link to clipboard

Copied

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;

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Nov 26, 2019 Nov 26, 2019

Copy link to clipboard

Copied

LATEST

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 PDFScripting
Use the Acrobat JavaScript Reference early and often

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines