PageSlicer
in package
FinalYes
Extract, reorder, remove, and split pages from a PDF.
Uses PdfFileWriter (full rewrite) since page tree restructuring cannot be done incrementally.
Usage: PageSlicer::open('large.pdf') ->keepRange(1, 5) ->save('first-five.pdf');
PageSlicer::open('report.pdf') ->reorder(3, 1, 2) ->save('reordered.pdf');
Table of Contents
Methods
- getPageCount() : int
- getReader() : PdfReader
- getVersionWarnings() : array<int, string>
- keep() : self
- keepPages() : self
- keepRange() : self
- open() : self
- openString() : self
- remove() : self
- removePages() : self
- reorder() : self
- Reorder pages. Arguments are 1-based page numbers in desired order.
- reverse() : self
- save() : void
- split() : array{string, string}
- Split the PDF at a given page number.
- toBytes() : string
Methods
getPageCount()
public
getPageCount() : int
Return values
intgetReader()
public
getReader() : PdfReader
Return values
PdfReadergetVersionWarnings()
public
getVersionWarnings() : array<int, string>
Return values
array<int, string>keep()
public
keep(PageSelector $pages) : self
Parameters
- $pages : PageSelector
Return values
selfkeepPages()
public
keepPages(int ...$pageNumbers) : self
Parameters
- $pageNumbers : int
Return values
selfkeepRange()
public
keepRange(int $from, int $to) : self
Parameters
- $from : int
- $to : int
Return values
selfopen()
public
static open(string $path[, string $password = '' ]) : self
Parameters
- $path : string
- $password : string = ''
Return values
selfopenString()
public
static openString(string $pdfBytes[, string $password = '' ]) : self
Parameters
- $pdfBytes : string
- $password : string = ''
Return values
selfremove()
public
remove(PageSelector $pages) : self
Parameters
- $pages : PageSelector
Return values
selfremovePages()
public
removePages(int ...$pageNumbers) : self
Parameters
- $pageNumbers : int
Return values
selfreorder()
Reorder pages. Arguments are 1-based page numbers in desired order.
public
reorder(int ...$pageOrder) : self
Parameters
- $pageOrder : int
Return values
selfreverse()
public
reverse() : self
Return values
selfsave()
public
save(string $path) : void
Parameters
- $path : string
split()
Split the PDF at a given page number.
public
split(int $atPage) : array{string, string}
Parameters
- $atPage : int
-
1-based page number where the split occurs. Pages 1..(atPage-1) go to first result, pages atPage..end go to second result.
Return values
array{string, string} —Two PDF byte strings
toBytes()
public
toBytes() : string