• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers

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

Views

434

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
Community Expert ,
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