-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add image support to multi-tool page Related to #278 * changes to support image types * final touches * final touches * final touches Signed-off-by: a <a> * final touches Signed-off-by: a <a> * final touches Signed-off-by: a <a> * final touches Signed-off-by: a <a> * final touches Signed-off-by: a <a> * final touches Signed-off-by: a <a> * final touches Signed-off-by: a <a> * Update translation files (#1888) Signed-off-by: GitHub Action <[email protected]> Co-authored-by: GitHub Action <[email protected]> --------- Signed-off-by: a <a> Signed-off-by: GitHub Action <[email protected]> Co-authored-by: a <a> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: GitHub Action <[email protected]>
- Loading branch information
1 parent
4d47e53
commit 8c01425
Showing
74 changed files
with
735 additions
and
758 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
version: '3.3' | ||
services: | ||
stirling-pdf: | ||
container_name: Stirling-PDF-Security-Fat | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
version: '3.3' | ||
services: | ||
stirling-pdf: | ||
container_name: Stirling-PDF-Security | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
version: '3.3' | ||
services: | ||
stirling-pdf: | ||
container_name: Stirling-PDF-Security | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
version: '3.3' | ||
services: | ||
stirling-pdf: | ||
container_name: Stirling-PDF-Ultra-Lite-Security | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
version: '3.3' | ||
services: | ||
stirling-pdf: | ||
container_name: Stirling-PDF-Ultra-Lite | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
version: '3.3' | ||
services: | ||
stirling-pdf: | ||
container_name: Stirling-PDF | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
package stirling.software.SPDF.EE; | ||
|
||
import org.slf4j.Logger; | ||
import org.slf4j.LoggerFactory; | ||
import org.springframework.beans.factory.annotation.Autowired; | ||
import org.springframework.context.annotation.Bean; | ||
import org.springframework.context.annotation.Configuration; | ||
import org.springframework.context.annotation.Lazy; | ||
|
||
import stirling.software.SPDF.model.ApplicationProperties; | ||
|
||
@Configuration | ||
@Lazy | ||
public class EEAppConfig { | ||
|
||
private static final Logger logger = LoggerFactory.getLogger(EEAppConfig.class); | ||
|
||
@Autowired ApplicationProperties applicationProperties; | ||
|
||
@Bean(name = "RunningEE") | ||
public boolean runningEnterpriseEdition() { | ||
// TODO: Implement EE detection | ||
return false; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
139 changes: 139 additions & 0 deletions
139
src/main/java/stirling/software/SPDF/config/PdfMetadataService.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,139 @@ | ||
package stirling.software.SPDF.config; | ||
|
||
import java.util.Calendar; | ||
|
||
import org.apache.pdfbox.pdmodel.PDDocument; | ||
import org.springframework.beans.factory.annotation.Autowired; | ||
import org.springframework.beans.factory.annotation.Qualifier; | ||
import org.springframework.stereotype.Service; | ||
|
||
import jakarta.annotation.PostConstruct; | ||
import stirling.software.SPDF.controller.api.pipeline.UserServiceInterface; | ||
import stirling.software.SPDF.model.ApplicationProperties; | ||
import stirling.software.SPDF.model.PdfMetadata; | ||
|
||
@Service | ||
public class PdfMetadataService { | ||
|
||
private static PdfMetadataService instance; | ||
|
||
private final ApplicationProperties applicationProperties; | ||
private final String appVersion; | ||
private final UserServiceInterface userService; | ||
|
||
@Autowired | ||
public PdfMetadataService( | ||
ApplicationProperties applicationProperties, | ||
@Qualifier("appVersion") String appVersion, | ||
@Autowired(required = false) UserServiceInterface userService) { | ||
this.applicationProperties = applicationProperties; | ||
this.appVersion = appVersion; | ||
this.userService = userService; | ||
} | ||
|
||
@PostConstruct | ||
public void init() { | ||
instance = this; | ||
} | ||
|
||
// Static methods for easy access | ||
|
||
public static PdfMetadata extractMetadataFromPdf(PDDocument pdf) { | ||
return instance.extractMetadataFromPdfInstance(pdf); | ||
} | ||
|
||
public static void setDefaultMetadata(PDDocument pdf) { | ||
instance.setDefaultMetadataInstance(pdf); | ||
} | ||
|
||
public static void setMetadataToPdf(PDDocument pdf, PdfMetadata pdfMetadata) { | ||
instance.setMetadataToPdfInstance(pdf, pdfMetadata); | ||
} | ||
|
||
public static void setMetadataToPdf( | ||
PDDocument pdf, PdfMetadata pdfMetadata, boolean newlyCreated) { | ||
instance.setMetadataToPdfInstance(pdf, pdfMetadata, newlyCreated); | ||
} | ||
|
||
// Instance methods | ||
|
||
private PdfMetadata extractMetadataFromPdfInstance(PDDocument pdf) { | ||
return PdfMetadata.builder() | ||
.author(pdf.getDocumentInformation().getAuthor()) | ||
.producer(pdf.getDocumentInformation().getProducer()) | ||
.title(pdf.getDocumentInformation().getTitle()) | ||
.creator(pdf.getDocumentInformation().getCreator()) | ||
.subject(pdf.getDocumentInformation().getSubject()) | ||
.keywords(pdf.getDocumentInformation().getKeywords()) | ||
.creationDate(pdf.getDocumentInformation().getCreationDate()) | ||
.modificationDate(pdf.getDocumentInformation().getModificationDate()) | ||
.build(); | ||
} | ||
|
||
private void setDefaultMetadataInstance(PDDocument pdf) { | ||
PdfMetadata metadata = extractMetadataFromPdfInstance(pdf); | ||
setMetadataToPdfInstance(pdf, metadata); | ||
} | ||
|
||
private void setMetadataToPdfInstance(PDDocument pdf, PdfMetadata pdfMetadata) { | ||
setMetadataToPdfInstance(pdf, pdfMetadata, true); | ||
} | ||
|
||
private void setMetadataToPdfInstance( | ||
PDDocument pdf, PdfMetadata pdfMetadata, boolean newlyCreated) { | ||
if (newlyCreated || pdfMetadata.getCreationDate() == null) { | ||
setNewDocumentMetadata(pdf, pdfMetadata); | ||
} | ||
setCommonMetadata(pdf, pdfMetadata); | ||
} | ||
|
||
private void setNewDocumentMetadata(PDDocument pdf, PdfMetadata pdfMetadata) { | ||
|
||
String title = pdfMetadata.getTitle(); | ||
String creator = "Stirling-PDF"; | ||
|
||
// if (applicationProperties | ||
// .getEnterpriseEdition() | ||
// .getCustomMetadata() | ||
// .isAutoUpdateMetadata()) { | ||
|
||
// producer = | ||
// | ||
// applicationProperties.getEnterpriseEdition().getCustomMetadata().getProducer(); | ||
// creator = | ||
// applicationProperties.getEnterpriseEdition().getCustomMetadata().getCreator(); | ||
// title = applicationProperties.getEnterpriseEdition().getCustomMetadata().getTitle(); | ||
|
||
// if ("{filename}".equals(title)) { | ||
// title = "Filename"; // Replace with actual filename logic | ||
// } else if ("{unchanged}".equals(title)) { | ||
// title = pdfMetadata.getTitle(); // Keep the original title | ||
// } | ||
// } | ||
|
||
pdf.getDocumentInformation().setTitle(title); | ||
pdf.getDocumentInformation().setCreator(creator + " " + appVersion); | ||
pdf.getDocumentInformation().setCreationDate(Calendar.getInstance()); | ||
} | ||
|
||
private void setCommonMetadata(PDDocument pdf, PdfMetadata pdfMetadata) { | ||
String producer = "Stirling-PDF"; | ||
pdf.getDocumentInformation().setProducer(producer + " " + appVersion); | ||
pdf.getDocumentInformation().setSubject(pdfMetadata.getSubject()); | ||
pdf.getDocumentInformation().setKeywords(pdfMetadata.getKeywords()); | ||
pdf.getDocumentInformation().setModificationDate(Calendar.getInstance()); | ||
|
||
String author = pdfMetadata.getAuthor(); | ||
// if (applicationProperties | ||
// .getEnterpriseEdition() | ||
// .getCustomMetadata() | ||
// .isAutoUpdateMetadata()) { | ||
// author = applicationProperties.getEnterpriseEdition().getCustomMetadata().getAuthor(); | ||
|
||
// if (userService != null) { | ||
// author = author.replace("username", userService.getCurrentUsername()); | ||
// } | ||
// } | ||
pdf.getDocumentInformation().setAuthor(author); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.