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

Change fill color with Javascript

Community Beginner ,
Nov 26, 2019 Nov 26, 2019

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
1.5K
Translate
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

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. 

Translate
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

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;

Translate
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
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

Translate
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