Skip to main content
scotts55494258
New Participant
March 10, 2016
Question

JS to Extract Multiple Pages and Name as Page Label

  • March 10, 2016
  • 2 replies
  • 10320 views

Good Morning! We have a group of employees that often taken a PDF that contains multiple pages (in the range of 200-500 pages) and extract them out into separate PDF's to load into a system. Often times, these large PDF's that they begin with hold page labels for each and every page, but when extracting, they lose these page labels and the individual files are named differently. What we're aiming to do is have a javascript that they can run to extract all pages out of a multi-paged PDF and in that process, it name the individual PDF files the same name as their page label.

I believe the two functions that we're dealing with are Doc.getPageLabel() and Doc.extractPages() but we're unsure as to how to tie this into a javascript that will do what we need it to do. Unfortunately, none of us have any experience with JS. I appreciate any and every ones help! Thank you!

2 replies

JR Boulay
Community Expert
Community Expert
April 1, 2025

[MOVED TO THE ACROBAT DISCUSSIONS]

Acrobate du PDF, InDesigner et Photoshopographe
try67
Community Expert
Community Expert
March 10, 2016

From what context do you want to use this script? From a menu item? An Action? The JS Console?

Basically you have it right. The only thing missing is a loop that iterates over all the pages, extracting each one using its label.

The basic code would be something like this:

for (var p=0; p<this.numPages; p++) {

    this.extractPages(p, p, this.path.replace(this.documentFileName, this.getPageLabel(p) + ".pdf"));

}

Known Participant
May 20, 2024

Wow, that is what i was looking for.

Can you write it in this way please:
filename.pdf to become filename___pagelabel.pdf

Thank you so much.

Known Participant
November 8, 2024

Sure. Use this:

this.extractPages(p, p, this.path.replace(".pdf", "___" + this.getPageLabel(p) + ".pdf"));


Hi there! Sorry to bother you again, your code works perfectly. If possible, I have another request: would it be possible to keep the original page label within the files that have been split? For example, a PDF file containing pages 1-10, once it's split, if I open page 5, for instance, the page label is not 5, but it's 1. Is there a way to keep the original label, so in this case, the 5? Thank you so much.