MCPcopy Create free account
hub / github.com/apache/pdfbox / call

Method call

tools/src/main/java/org/apache/pdfbox/tools/PDFSplit.java:88–155  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

86 }
87
88 public Integer call()
89 {
90 Splitter splitter = new Splitter();
91
92 if (outputPrefix == null)
93 {
94 outputPrefix = FilenameUtils.removeExtension(infile.getAbsolutePath());
95 }
96
97 List<PDDocument> documents = null;
98
99 try (PDDocument document = Loader.loadPDF(infile, password))
100 {
101 boolean startEndPageSet = false;
102 if (startPage != -1)
103 {
104 splitter.setStartPage(startPage);
105 startEndPageSet = true;
106 if (split == -1)
107 {
108 int numberOfPages = document.getNumberOfPages();
109 splitter.setSplitAtPage(numberOfPages);
110 }
111 }
112 if (endPage != -1)
113 {
114 splitter.setEndPage(endPage);
115 startEndPageSet = true;
116 if (split == -1)
117 {
118 splitter.setSplitAtPage(endPage);
119 }
120 }
121 if (split != -1)
122 {
123 splitter.setSplitAtPage(split);
124 }
125 else
126 {
127 if (!startEndPageSet)
128 {
129 splitter.setSplitAtPage(1);
130 }
131 }
132
133 documents = splitter.split( document );
134 for( int i=0; i<documents.size(); i++ )
135 {
136 try (PDDocument doc = documents.get(i))
137 {
138 doc.save(outputPrefix + "-" + (i + 1) + ".pdf");
139 }
140 }
141 }
142 catch (IOException ioe)
143 {
144 SYSERR.println( "Error splitting document [" + ioe.getClass().getSimpleName() + "]: " + ioe.getMessage());
145 return 4;

Callers

nothing calls this directly

Calls 10

loadPDFMethod · 0.95
setStartPageMethod · 0.95
setSplitAtPageMethod · 0.95
setEndPageMethod · 0.95
splitMethod · 0.95
forEachMethod · 0.80
getNumberOfPagesMethod · 0.45
sizeMethod · 0.45
getMethod · 0.45
saveMethod · 0.45

Tested by

no test coverage detected