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

getAnnots() returns null in script

Engaged ,
May 23, 2017 May 23, 2017

Copy link to clipboard

Copied

This one completely baffles me. When run inside the console, it works. When called from a framing script, it does not.

I have a pdf document that contains a stamp. I wish to "get" that stamp so I can clone it into a different document. But here's where I run into a problem: Getting the annotations from the Javascript Console inside Acrobat DC...:

var refDoc = app.openDoc("/ArtDept/ArtDept/JOBS/462000-462999/462000/CS/493130_T-N10-WHITE_CartoonNetwork_SPEC.pdf");

console.println("refDoc is: " + refDoc);

console.println("refDoc's name is: " + refDoc.documentFileName);

var refAnnots = refDoc.getAnnots();

console.println("refAnnots: " + refAnnots);

works fine. `refAnnots` shows me a list of all the annotations (stamps included) in the document.

If I run the *exact same code* inside of a much larger script, `refAnnots` is null. Meaning that the script couldn't find any annotations in the document.

I've already made sure that the code sits inside of `app.beginPriv();` and `app.endPriv();` lines as well as being inside a function that is defined inside of `app.trustedFunction()`. All of this is in a file that is in the application-level folder. Thus, security should not be an issue. Everything else inside this function works perfectly.

TOPICS
Acrobat SDK and JavaScript , Windows

Views

1.4K

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

correct answers 1 Correct answer

Community Expert , May 23, 2017 May 23, 2017

Is the document disclosed? What does the second line produce when you run this code not from the console?

Also, it's recommended to execute syncAnnotScan before accessing the annotations in a file.

Votes

Translate

Translate
Community Expert ,
May 23, 2017 May 23, 2017

Copy link to clipboard

Copied

Is the document disclosed? What does the second line produce when you run this code not from the console?

Also, it's recommended to execute syncAnnotScan before accessing the annotations in a file.

Votes

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
Engaged ,
May 23, 2017 May 23, 2017

Copy link to clipboard

Copied

LATEST

Hey, thanks for the rapid response, try67​!

Yes, the document is disclosed. The second and third lines produce the exact same effect, whether or not it's done through the script or through the console.

However, I did discover that you are correct about `syncAnnotScan()`. I placed that before the fourth line in my initial code and that caused the stamp to *finally* be recognized. Yay! One more hurdle down!

I now have a new problem, however, and that is stopping Acrobat DC from *crashing* literally every time it is trying to save the other document (after the stamp has been cloned to it). Perhaps I should post this as a separate question, though.

Votes

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