Add rotate and compress (#7)

* Add files via upload

* Update build.gradle

* Update general.css
This commit is contained in:
Anthony Stirling
2023-01-29 17:06:53 +00:00
committed by GitHub
parent b56e5a0e05
commit cd4bd2a796
15 changed files with 496 additions and 106 deletions

View File

@@ -0,0 +1,45 @@
package stirling.software.SPDF.controller;
import java.io.IOException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import stirling.software.SPDF.utils.PdfUtils;
@Controller
public class ConvertPDFController {
private static final Logger logger = LoggerFactory.getLogger(ConvertPDFController.class);
@GetMapping("/convert-pdf")
public String convertToPdfForm(Model model) {
model.addAttribute("currentPage", "convert-pdf");
return "convert-pdf";
}
@PostMapping("/convert-to-pdf")
public ResponseEntity<byte[]> convertToPdf(@RequestParam("fileInput") MultipartFile file) throws IOException {
// Convert the file to PDF and get the resulting bytes
byte[] bytes = PdfUtils.convertToPdf(file.getInputStream());
logger.info("File {} successfully converted to pdf", file.getOriginalFilename());
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_PDF);
String filename = "converted.pdf";
headers.setContentDispositionFormData(filename, filename);
headers.setCacheControl("must-revalidate, post-check=0, pre-check=0");
ResponseEntity<byte[]> response = new ResponseEntity<>(bytes, headers, HttpStatus.OK);
return response;
}
}