|
@@ -46,27 +46,29 @@ public class PdfUtil {
|
|
|
PdfReader reader = null;
|
|
|
StringJoiner dirName = null;
|
|
|
try {
|
|
|
- document = new Document(new PdfReader(files[0]).getPageSize(1));
|
|
|
- if (Objects.isNull(outputPath)) {
|
|
|
- LocalDateTime nowTime = LocalDateTime.now();
|
|
|
- StringJoiner stringJoiner = new StringJoiner("").add(SystemConstant.PDF_TEMP_FILES_DIR).add(File.separator);
|
|
|
- dirName = new StringJoiner("")
|
|
|
- .add(UploadFileEnum.PDF.getTitle()).add(File.separator)
|
|
|
- .add(String.valueOf(nowTime.getYear())).add(File.separator)
|
|
|
- .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
|
|
|
- .add(String.format("%02d", nowTime.getDayOfMonth()))
|
|
|
- .add(File.separator).add(SystemConstant.getUuid()).add(SystemConstant.PDF_PREFIX);
|
|
|
- outputPath = stringJoiner.toString() + dirName.toString();
|
|
|
- }
|
|
|
- copy = new PdfSmartCopy(document, new FileOutputStream(outputPath));
|
|
|
- document.open();
|
|
|
- for (int i = 0; i < files.length; i++) {
|
|
|
- reader = new PdfReader(files[i]);
|
|
|
- int numberOfPages = reader.getNumberOfPages();
|
|
|
- for (int j = 1; j <= numberOfPages; j++) {
|
|
|
- document.newPage();
|
|
|
- PdfImportedPage page = copy.getImportedPage(reader, j);
|
|
|
- copy.addPage(page);
|
|
|
+ if (Objects.nonNull(files) && files.length > 0) {
|
|
|
+ document = new Document(new PdfReader(files[0]).getPageSize(1));
|
|
|
+ if (Objects.isNull(outputPath)) {
|
|
|
+ LocalDateTime nowTime = LocalDateTime.now();
|
|
|
+ StringJoiner stringJoiner = new StringJoiner("").add(SystemConstant.PDF_TEMP_FILES_DIR).add(File.separator);
|
|
|
+ dirName = new StringJoiner("")
|
|
|
+ .add(UploadFileEnum.PDF.getTitle()).add(File.separator)
|
|
|
+ .add(String.valueOf(nowTime.getYear())).add(File.separator)
|
|
|
+ .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
|
|
|
+ .add(String.format("%02d", nowTime.getDayOfMonth()))
|
|
|
+ .add(File.separator).add(SystemConstant.getUuid()).add(SystemConstant.PDF_PREFIX);
|
|
|
+ outputPath = stringJoiner.toString() + dirName.toString();
|
|
|
+ }
|
|
|
+ copy = new PdfSmartCopy(document, new FileOutputStream(outputPath));
|
|
|
+ document.open();
|
|
|
+ for (int i = 0; i < files.length; i++) {
|
|
|
+ reader = new PdfReader(files[i]);
|
|
|
+ int numberOfPages = reader.getNumberOfPages();
|
|
|
+ for (int j = 1; j <= numberOfPages; j++) {
|
|
|
+ document.newPage();
|
|
|
+ PdfImportedPage page = copy.getImportedPage(reader, j);
|
|
|
+ copy.addPage(page);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
@@ -98,15 +100,17 @@ public class PdfUtil {
|
|
|
FileOutputStream fileOutputStream = null;
|
|
|
int pageCount = 0;
|
|
|
try {
|
|
|
- reader = new PdfReader(pdfFile.getPath());
|
|
|
- pageCount = reader.getNumberOfPages();
|
|
|
- if (Math.abs(pageCount % 2) == 1) {//取偶
|
|
|
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
|
|
- PdfStamper stamper = new PdfStamper(reader, baos);
|
|
|
- stamper.insertPage(pageCount + 1, reader.getPageSizeWithRotation(1));
|
|
|
- stamper.close();
|
|
|
- fileOutputStream = new FileOutputStream(pdfFile);
|
|
|
- IOUtils.write(baos.toByteArray(), fileOutputStream);
|
|
|
+ if (Objects.nonNull(pdfFile)) {
|
|
|
+ reader = new PdfReader(pdfFile.getPath());
|
|
|
+ pageCount = reader.getNumberOfPages();
|
|
|
+ if (Math.abs(pageCount % 2) == 1) {//取偶
|
|
|
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
|
|
+ PdfStamper stamper = new PdfStamper(reader, baos);
|
|
|
+ stamper.insertPage(pageCount + 1, reader.getPageSizeWithRotation(1));
|
|
|
+ stamper.close();
|
|
|
+ fileOutputStream = new FileOutputStream(pdfFile);
|
|
|
+ IOUtils.write(baos.toByteArray(), fileOutputStream);
|
|
|
+ }
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
log.error("请求出错", e);
|
|
@@ -132,8 +136,10 @@ public class PdfUtil {
|
|
|
public static int getPdfPages(File pdfFile) throws IOException {
|
|
|
PdfReader reader = null;
|
|
|
try {
|
|
|
- reader = new PdfReader(pdfFile.getPath());
|
|
|
- return reader.getNumberOfPages();
|
|
|
+ if (Objects.nonNull(pdfFile)) {
|
|
|
+ reader = new PdfReader(pdfFile.getPath());
|
|
|
+ return reader.getNumberOfPages();
|
|
|
+ }
|
|
|
} catch (Exception e) {
|
|
|
log.error("请求出错", e);
|
|
|
} finally {
|