mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2025-05-25 03:12:02 +00:00
37 lines
1.1 KiB
Java
37 lines
1.1 KiB
Java
![]() |
package stirling.software.SPDF.model.api;
|
||
|
|
||
|
import java.io.IOException;
|
||
|
import java.util.List;
|
||
|
|
||
|
import org.apache.pdfbox.pdmodel.PDDocument;
|
||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||
|
import lombok.Data;
|
||
|
import lombok.NoArgsConstructor;
|
||
|
import stirling.software.SPDF.utils.GeneralUtils;
|
||
|
@Data
|
||
|
@NoArgsConstructor
|
||
|
public class PDFWithPageNums extends PDFFile {
|
||
|
|
||
|
@Schema(description = "The pages to select, Supports ranges (e.g., '1,3,5-9'), or 'all' or functions in the format 'an+b' where 'a' is the multiplier of the page number 'n', and 'b' is a constant (e.g., '2n+1', '3n', '6n-5')\"")
|
||
|
private String pageNumbers;
|
||
|
|
||
|
|
||
|
public List<Integer> getPageNumbersList(){
|
||
|
int pageCount = 0;
|
||
|
try {
|
||
|
pageCount = PDDocument.load(getFileInput().getInputStream()).getNumberOfPages();
|
||
|
} catch (IOException e) {
|
||
|
// TODO Auto-generated catch block
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
return GeneralUtils.parsePageString(pageNumbers, pageCount);
|
||
|
|
||
|
}
|
||
|
public List<Integer> getPageNumbersList(PDDocument doc){
|
||
|
int pageCount = 0;
|
||
|
pageCount = doc.getNumberOfPages();
|
||
|
return GeneralUtils.parsePageString(pageNumbers, pageCount);
|
||
|
|
||
|
}
|
||
|
}
|