diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java b/stirling-pdf/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java index c9872992a..631845318 100644 --- a/stirling-pdf/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java +++ b/stirling-pdf/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java @@ -120,6 +120,7 @@ public class EndpointConfiguration { addEndpointToGroup("PageOps", "scale-pages"); addEndpointToGroup("PageOps", "adjust-contrast"); addEndpointToGroup("PageOps", "crop"); + addEndpointToGroup("PageOps", "removeHeaderFooter"); addEndpointToGroup("PageOps", "auto-split-pdf"); addEndpointToGroup("PageOps", "extract-page"); addEndpointToGroup("PageOps", "pdf-to-single-page"); @@ -236,6 +237,7 @@ public class EndpointConfiguration { addEndpointToGroup("Java", "auto-split-pdf"); addEndpointToGroup("Java", "sanitize-pdf"); addEndpointToGroup("Java", "crop"); + addEndpointToGroup("Java", "removeHeaderFooter"); addEndpointToGroup("Java", "get-info-on-pdf"); addEndpointToGroup("Java", "extract-page"); addEndpointToGroup("Java", "pdf-to-single-page"); diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/RemoveHeaderFooterController.java b/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/RemoveHeaderFooterController.java new file mode 100644 index 000000000..3b36e4feb --- /dev/null +++ b/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/RemoveHeaderFooterController.java @@ -0,0 +1,34 @@ +package stirling.software.SPDF.controller.api; + +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; + +import lombok.RequiredArgsConstructor; + +import stirling.software.SPDF.model.api.general.RemoveHeaderFooterForm; + +@RestController +@RequestMapping("/api/v1/general") +@Tag(name = "General", description = "General APIs") +@RequiredArgsConstructor +public class RemoveHeaderFooterController { + + // private final CustomPDFDocumentFactory pdfDocumentFactory; + + @PostMapping(value = "/remove-header-footer", consumes = "multipart/form-data") + @Operation( + summary = "Removes headers and/or footers from a PDF document", + description = "Remove header and/or footer") + public String removeHeaderFooter(@ModelAttribute RemoveHeaderFooterForm form) { + // Print the received message + System.out.println("Received message: " + form.getMessage()); + + // Respond with a message + return "footer Removed"; + } +} diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/GeneralWebController.java b/stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/GeneralWebController.java index 72486a28f..d07daed0d 100644 --- a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/GeneralWebController.java +++ b/stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/GeneralWebController.java @@ -298,6 +298,13 @@ public class GeneralWebController { return "crop"; } + @GetMapping("/remove-header-footer") + @Hidden + public String removeHeaderFooterForm(Model model) { + model.addAttribute("currentPage", "remove-header-footer"); + return "remove-header-footer"; + } + @GetMapping("/auto-split-pdf") @Hidden public String autoSPlitPDFForm(Model model) { diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/RemoveHeaderFooterForm.java b/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/RemoveHeaderFooterForm.java new file mode 100644 index 000000000..9c948bf66 --- /dev/null +++ b/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/RemoveHeaderFooterForm.java @@ -0,0 +1,13 @@ +package stirling.software.SPDF.model.api.general; + +import io.swagger.v3.oas.annotations.media.Schema; + +import lombok.Data; + +@Data +// @EqualsAndHashCode(callSuper = true) +public class RemoveHeaderFooterForm { + + @Schema(description = "Test Message", type = "string") + private String message; +} diff --git a/stirling-pdf/src/main/resources/messages_en_GB.properties b/stirling-pdf/src/main/resources/messages_en_GB.properties index 7dc6cb571..20d45916c 100644 --- a/stirling-pdf/src/main/resources/messages_en_GB.properties +++ b/stirling-pdf/src/main/resources/messages_en_GB.properties @@ -751,6 +751,10 @@ home.validateSignature.title=Validate PDF Signature home.validateSignature.desc=Verify digital signatures and certificates in PDF documents validateSignature.tags=signature,verify,validate,pdf,certificate,digital signature,Validate Signature,Validate certificate +home.remove-header-footer.title=Remove PDF Headers and Footers +home.remove-header-footer.desc=Remove the headers and/or footers from a PDF document +remove-header-footer.tags=remove headers, remove footers, remove, header, footer + #replace-invert-color replace-color.title=Advanced Colour options replace-color.header=Replace-Invert Colour PDF @@ -996,6 +1000,10 @@ crop.title=Crop crop.header=Crop PDF crop.submit=Submit +#remove-header-footer +remove-header-footer.title=Remove Header/Footer +remove-header-footer.header=Remove Header/Footer +remove-header-footer.submit=Remove #autoSplitPDF autoSplitPDF.title=Auto Split PDF diff --git a/stirling-pdf/src/main/resources/templates/fragments/navElements.html b/stirling-pdf/src/main/resources/templates/fragments/navElements.html index cd7fae74b..702bcab1b 100644 --- a/stirling-pdf/src/main/resources/templates/fragments/navElements.html +++ b/stirling-pdf/src/main/resources/templates/fragments/navElements.html @@ -19,6 +19,11 @@