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

Using Javascript to Extract, Flatten, & Save As

New Here ,
Jul 31, 2019 Jul 31, 2019

Copy link to clipboard

Copied

Hi everyone,

I have a PDF form that I've created for my team to help make creating contracts easier. Essentially what it does is it has a bunch of form fields on page 1 that fill in all the appropriate information on all the other pages. I've then created buttons that print just the pages we need, which vary for different people. This system works great for printing, but I'm trying to come up with a better solution for saving.

Here's what I want:

On a button press, a certain set of pages should be extracted from the PDF, flattened, and then a Save As prompt should appear.

But I haven't been able to figure out how to apply scripts to the extracted pages, instead of the original.

For example, if I use this code:

this.extractPages(1,3);

this.flattenPages();

app.execMenuItem("SaveAs");

then the pages are extracted correctly, but the original PDF is then flattened and saved, not the new extracted PDF.

This is what I've been doing as a workaround:

this.deletePages({nStart: 4, nEnd: 7});

this.deletePages({nStart: 0, nEnd: 1});

this.flattenPages();

app.execMenuItem("SaveAs");

Essentially, instead of extracting, I'm just deleting the unneeded pages, then flattening and saving the original PDF. This works, and we've been using it this way for about 2 years, but the problem is that it's really only effective if you need to make one contract. If you need to make say, five, all with the same information but a different name, you have to start over from the original PDF and re-enter all of the information. That's why I want the pages to be extracted, leaving the original PDF with form fields intact, and then flattening the new PDF.

Now before anyone says it, I know, I know, this.flattenPages() only works on Acrobat Pro. This is not a problem for us because this PDF is only used internally by my team, and we all have Acrobat Pro DC running on our machines.

Is it possible to apply script to the extracted pages?

Thank you very much for your help!!

TOPICS
Acrobat SDK and JavaScript , Windows

Views

5.6K

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 ,
Jul 31, 2019 Jul 31, 2019

Copy link to clipboard

Copied

If you read the documentation of extractPages you'll see that it returns a Doc object when you specify a file path. However, to be able to do that you have to run it from a privileged context, such as a folder-level script.

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
New Here ,
Jul 31, 2019 Jul 31, 2019

Copy link to clipboard

Copied

Understood, thanks. I have been unable to read the documentation despite several attempts to find it over several months. The link on Adobe's website returns a 404 Not Found error. Is there a place it is currently located?

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
Community Expert ,
Jul 31, 2019 Jul 31, 2019

Copy link to clipboard

Copied

LATEST

Download the Acrobat SDK from here: Adobe - Acrobat Developer Center | Adobe Developer Connection

The Acrobat JS API Reference document is located in it.

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