PDF-ShellTools > Ideas/Suggestions

Splitting by bookmarks (undo merge -BookmarkAll)

(1/1)

conrad.drake:
I've just been handed several large PDFs which I need to split up into individual files.  Fortunately it looks like someone used PDF Shell Tools to merge them as each sub-file does have a bookmark. 

But as there's no unmerge -BookmarkAll  I'm going to have to reach for PdfTK to extract the bookmark information and write a MS Dos script to call PDF Shell tools with the right start/end pages and titles.
Something like
for /F "eol=; tokens=1,2*  %i in (bookmarks.txt) do PDFShellTools Split -s SplitRules=%i-%j "OutputFilename=%k" BigMergedFile.pdf

If there's not a way to do this with the API (which I haven't exhaustively checked) can you please consider for some time in the future?
Thanks!
[edit = bug fixed in above - %k is automatically created]

RTT:
Not possible with the current version, because the bookmarks script API object still lacks access to the target page reference. Something I will try to add to the split tool and scripts API in a next release. ;)

Thanks for mentioning the need of this functionality.

conrad.drake:
Thanks - PDF Labs have managed to work this out in PDFTk - it's GPL so you may get some hints from how they've implemented it (I have no idea!)

I ran

pdftk "BigMergeFile.pdf" dump_data > info.txt

this generates a whole bunch of data like the following

BookmarkBegin
BookmarkTitle: TCDL-801198_A
BookmarkLevel: 1
BookmarkPageNumber: 84

plus the all important total number of pages.

NumberOfPages: 1472

A quick mucking about in XLS (or your favourite script language) can turn this into text like
; 1st page   Last   Title
1   2   Table Of Contents
3   24   BE847-AK-BOM-100_1_Reviewed_AC
25   77   B8F47-AK-SPC-100_1_Reviewed_AC
78   83   B84G7-TK-BLD-101.001_1_IPX Reviewed_AC
84   89   TCDL-871198_A

which can be fed into the FOR loop above

RTT:
With the 2.6.3 minor version release, it is now possible to split by top-level bookmarks, directly from the split/extract pages tool, or to use the new DestPageIndex property, added to the scripting API Bookmark object, from any operation that needs this bookmark destination page index information.

conrad.drake:
Thanks!  Top level split works as advertised.

Navigation

[0] Message Index

Reply

Go to full version