mirror of
				https://github.com/Frooodle/Stirling-PDF.git
				synced 2025-10-25 11:17:28 +02:00 
			
		
		
		
	Merge branch 'main' of https://github.com/michelheusschen/Stirling-PDF into update-dutch-translation
This commit is contained in:
		
						commit
						46abae9acc
					
				| @ -12,7 +12,7 @@ plugins { | |||||||
| import com.github.jk1.license.render.* | import com.github.jk1.license.render.* | ||||||
| 
 | 
 | ||||||
| group = 'stirling.software' | group = 'stirling.software' | ||||||
| version = '0.20.0' | version = '0.20.1' | ||||||
| sourceCompatibility = '17' | sourceCompatibility = '17' | ||||||
| 
 | 
 | ||||||
| repositories { | repositories { | ||||||
|  | |||||||
| @ -21,7 +21,7 @@ services: | |||||||
|     environment: |     environment: | ||||||
|       DOCKER_ENABLE_SECURITY: "true" |       DOCKER_ENABLE_SECURITY: "true" | ||||||
|       SECURITY_ENABLELOGIN: "true" |       SECURITY_ENABLELOGIN: "true" | ||||||
|       SYSTEM_DEFAULTLOCALE: en_US |       SYSTEM_DEFAULTLOCALE: en-US | ||||||
|       UI_APPNAME: Stirling-PDF-Lite |       UI_APPNAME: Stirling-PDF-Lite | ||||||
|       UI_HOMEDESCRIPTION: Demo site for Stirling-PDF-Lite Latest with Security |       UI_HOMEDESCRIPTION: Demo site for Stirling-PDF-Lite Latest with Security | ||||||
|       UI_APPNAMENAVBAR: Stirling-PDF-Lite Latest |       UI_APPNAMENAVBAR: Stirling-PDF-Lite Latest | ||||||
|  | |||||||
| @ -20,7 +20,7 @@ services: | |||||||
|     environment: |     environment: | ||||||
|       DOCKER_ENABLE_SECURITY: "false" |       DOCKER_ENABLE_SECURITY: "false" | ||||||
|       SECURITY_ENABLELOGIN: "false" |       SECURITY_ENABLELOGIN: "false" | ||||||
|       SYSTEM_DEFAULTLOCALE: en_US |       SYSTEM_DEFAULTLOCALE: en-US | ||||||
|       UI_APPNAME: Stirling-PDF-Lite |       UI_APPNAME: Stirling-PDF-Lite | ||||||
|       UI_HOMEDESCRIPTION: Demo site for Stirling-PDF-Lite Latest |       UI_HOMEDESCRIPTION: Demo site for Stirling-PDF-Lite Latest | ||||||
|       UI_APPNAMENAVBAR: Stirling-PDF-Lite Latest |       UI_APPNAMENAVBAR: Stirling-PDF-Lite Latest | ||||||
|  | |||||||
| @ -21,7 +21,7 @@ services: | |||||||
|     environment: |     environment: | ||||||
|       DOCKER_ENABLE_SECURITY: "true" |       DOCKER_ENABLE_SECURITY: "true" | ||||||
|       SECURITY_ENABLELOGIN: "true" |       SECURITY_ENABLELOGIN: "true" | ||||||
|       SYSTEM_DEFAULTLOCALE: en_US |       SYSTEM_DEFAULTLOCALE: en-US | ||||||
|       UI_APPNAME: Stirling-PDF |       UI_APPNAME: Stirling-PDF | ||||||
|       UI_HOMEDESCRIPTION: Demo site for Stirling-PDF Latest with Security |       UI_HOMEDESCRIPTION: Demo site for Stirling-PDF Latest with Security | ||||||
|       UI_APPNAMENAVBAR: Stirling-PDF Latest |       UI_APPNAMENAVBAR: Stirling-PDF Latest | ||||||
|  | |||||||
| @ -21,7 +21,7 @@ services: | |||||||
|     environment: |     environment: | ||||||
|       DOCKER_ENABLE_SECURITY: "true" |       DOCKER_ENABLE_SECURITY: "true" | ||||||
|       SECURITY_ENABLELOGIN: "true" |       SECURITY_ENABLELOGIN: "true" | ||||||
|       SYSTEM_DEFAULTLOCALE: en_US |       SYSTEM_DEFAULTLOCALE: en-US | ||||||
|       UI_APPNAME: Stirling-PDF-Lite |       UI_APPNAME: Stirling-PDF-Lite | ||||||
|       UI_HOMEDESCRIPTION: Demo site for Stirling-PDF-Lite Latest with Security |       UI_HOMEDESCRIPTION: Demo site for Stirling-PDF-Lite Latest with Security | ||||||
|       UI_APPNAMENAVBAR: Stirling-PDF-Lite Latest |       UI_APPNAMENAVBAR: Stirling-PDF-Lite Latest | ||||||
|  | |||||||
| @ -20,7 +20,7 @@ services: | |||||||
|     environment: |     environment: | ||||||
|       DOCKER_ENABLE_SECURITY: "false" |       DOCKER_ENABLE_SECURITY: "false" | ||||||
|       SECURITY_ENABLELOGIN: "false" |       SECURITY_ENABLELOGIN: "false" | ||||||
|       SYSTEM_DEFAULTLOCALE: en_US |       SYSTEM_DEFAULTLOCALE: en-US | ||||||
|       UI_APPNAME: Stirling-PDF-Ultra-lite |       UI_APPNAME: Stirling-PDF-Ultra-lite | ||||||
|       UI_HOMEDESCRIPTION: Demo site for Stirling-PDF-Ultra-lite Latest |       UI_HOMEDESCRIPTION: Demo site for Stirling-PDF-Ultra-lite Latest | ||||||
|       UI_APPNAMENAVBAR: Stirling-PDF-Ultra-lite Latest |       UI_APPNAMENAVBAR: Stirling-PDF-Ultra-lite Latest | ||||||
|  | |||||||
| @ -21,7 +21,7 @@ services: | |||||||
|     environment: |     environment: | ||||||
|       DOCKER_ENABLE_SECURITY: "false" |       DOCKER_ENABLE_SECURITY: "false" | ||||||
|       SECURITY_ENABLELOGIN: "false" |       SECURITY_ENABLELOGIN: "false" | ||||||
|       SYSTEM_DEFAULTLOCALE: en_US |       SYSTEM_DEFAULTLOCALE: en-US | ||||||
|       UI_APPNAME: Stirling-PDF |       UI_APPNAME: Stirling-PDF | ||||||
|       UI_HOMEDESCRIPTION: Demo site for Stirling-PDF Latest |       UI_HOMEDESCRIPTION: Demo site for Stirling-PDF Latest | ||||||
|       UI_APPNAMENAVBAR: Stirling-PDF Latest |       UI_APPNAMENAVBAR: Stirling-PDF Latest | ||||||
|  | |||||||
| @ -12,7 +12,7 @@ import org.springframework.web.multipart.MultipartFile; | |||||||
| import io.swagger.v3.oas.annotations.Operation; | import io.swagger.v3.oas.annotations.Operation; | ||||||
| import io.swagger.v3.oas.annotations.tags.Tag; | import io.swagger.v3.oas.annotations.tags.Tag; | ||||||
| 
 | 
 | ||||||
| import stirling.software.SPDF.model.api.GeneralFile; | import stirling.software.SPDF.model.api.converters.HTMLToPdfRequest; | ||||||
| import stirling.software.SPDF.utils.FileToPdf; | import stirling.software.SPDF.utils.FileToPdf; | ||||||
| import stirling.software.SPDF.utils.WebResponseUtils; | import stirling.software.SPDF.utils.WebResponseUtils; | ||||||
| 
 | 
 | ||||||
| @ -30,7 +30,8 @@ public class ConvertHtmlToPDF { | |||||||
|             summary = "Convert an HTML or ZIP (containing HTML and CSS) to PDF", |             summary = "Convert an HTML or ZIP (containing HTML and CSS) to PDF", | ||||||
|             description = |             description = | ||||||
|                     "This endpoint takes an HTML or ZIP file input and converts it to a PDF format.") |                     "This endpoint takes an HTML or ZIP file input and converts it to a PDF format.") | ||||||
|     public ResponseEntity<byte[]> HtmlToPdf(@ModelAttribute GeneralFile request) throws Exception { |     public ResponseEntity<byte[]> HtmlToPdf(@ModelAttribute HTMLToPdfRequest request) | ||||||
|  |             throws Exception { | ||||||
|         MultipartFile fileInput = request.getFileInput(); |         MultipartFile fileInput = request.getFileInput(); | ||||||
| 
 | 
 | ||||||
|         if (fileInput == null) { |         if (fileInput == null) { | ||||||
| @ -45,7 +46,7 @@ public class ConvertHtmlToPDF { | |||||||
|         } |         } | ||||||
|         byte[] pdfBytes = |         byte[] pdfBytes = | ||||||
|                 FileToPdf.convertHtmlToPdf( |                 FileToPdf.convertHtmlToPdf( | ||||||
|                         fileInput.getBytes(), originalFilename, htmlFormatsInstalled); |                         request, fileInput.getBytes(), originalFilename, htmlFormatsInstalled); | ||||||
| 
 | 
 | ||||||
|         String outputFilename = |         String outputFilename = | ||||||
|                 originalFilename.replaceFirst("[.][^.]+$", "") |                 originalFilename.replaceFirst("[.][^.]+$", "") | ||||||
|  | |||||||
| @ -96,7 +96,7 @@ public class ConvertImgPDFController { | |||||||
|     @Operation( |     @Operation( | ||||||
|             summary = "Convert images to a PDF file", |             summary = "Convert images to a PDF file", | ||||||
|             description = |             description = | ||||||
|                     "This endpoint converts one or more images to a PDF file. Users can specify whether to stretch the images to fit the PDF page, and whether to automatically rotate the images. Input:Image Output:PDF Type:SISO?") |                     "This endpoint converts one or more images to a PDF file. Users can specify whether to stretch the images to fit the PDF page, and whether to automatically rotate the images. Input:Image Output:PDF Type:MISO") | ||||||
|     public ResponseEntity<byte[]> convertToPdf(@ModelAttribute ConvertToPdfRequest request) |     public ResponseEntity<byte[]> convertToPdf(@ModelAttribute ConvertToPdfRequest request) | ||||||
|             throws IOException { |             throws IOException { | ||||||
|         MultipartFile[] file = request.getFileInput(); |         MultipartFile[] file = request.getFileInput(); | ||||||
|  | |||||||
| @ -39,7 +39,7 @@ public class ConvertMarkdownToPdf { | |||||||
|     @Operation( |     @Operation( | ||||||
|             summary = "Convert a Markdown file to PDF", |             summary = "Convert a Markdown file to PDF", | ||||||
|             description = |             description = | ||||||
|                     "This endpoint takes a Markdown file input, converts it to HTML, and then to PDF format.") |                     "This endpoint takes a Markdown file input, converts it to HTML, and then to PDF format. Input:MARKDOWN Output:PDF Type:SISO") | ||||||
|     public ResponseEntity<byte[]> markdownToPdf(@ModelAttribute GeneralFile request) |     public ResponseEntity<byte[]> markdownToPdf(@ModelAttribute GeneralFile request) | ||||||
|             throws Exception { |             throws Exception { | ||||||
|         MultipartFile fileInput = request.getFileInput(); |         MultipartFile fileInput = request.getFileInput(); | ||||||
| @ -68,7 +68,7 @@ public class ConvertMarkdownToPdf { | |||||||
| 
 | 
 | ||||||
|         byte[] pdfBytes = |         byte[] pdfBytes = | ||||||
|                 FileToPdf.convertHtmlToPdf( |                 FileToPdf.convertHtmlToPdf( | ||||||
|                         htmlContent.getBytes(), "converted.html", htmlFormatsInstalled); |                         null, htmlContent.getBytes(), "converted.html", htmlFormatsInstalled); | ||||||
| 
 | 
 | ||||||
|         String outputFilename = |         String outputFilename = | ||||||
|                 originalFilename.replaceFirst("[.][^.]+$", "") |                 originalFilename.replaceFirst("[.][^.]+$", "") | ||||||
|  | |||||||
| @ -43,6 +43,7 @@ import stirling.software.SPDF.utils.WebResponseUtils; | |||||||
| public class AutoSplitPdfController { | public class AutoSplitPdfController { | ||||||
| 
 | 
 | ||||||
|     private static final String QR_CONTENT = "https://github.com/Stirling-Tools/Stirling-PDF"; |     private static final String QR_CONTENT = "https://github.com/Stirling-Tools/Stirling-PDF"; | ||||||
|  |     private static final String QR_CONTENT_OLD = "https://github.com/Frooodle/Stirling-PDF"; | ||||||
| 
 | 
 | ||||||
|     @PostMapping(value = "/auto-split-pdf", consumes = "multipart/form-data") |     @PostMapping(value = "/auto-split-pdf", consumes = "multipart/form-data") | ||||||
|     @Operation( |     @Operation( | ||||||
| @ -63,12 +64,11 @@ public class AutoSplitPdfController { | |||||||
|         for (int page = 0; page < document.getNumberOfPages(); ++page) { |         for (int page = 0; page < document.getNumberOfPages(); ++page) { | ||||||
|             BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 150); |             BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 150); | ||||||
|             String result = decodeQRCode(bim); |             String result = decodeQRCode(bim); | ||||||
| 
 |             if ((QR_CONTENT.equals(result) || QR_CONTENT_OLD.equals(result)) && page != 0) { | ||||||
|             if (QR_CONTENT.equals(result) && page != 0) { |  | ||||||
|                 splitDocuments.add(new PDDocument()); |                 splitDocuments.add(new PDDocument()); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             if (!splitDocuments.isEmpty() && !QR_CONTENT.equals(result)) { |             if (!splitDocuments.isEmpty() && !QR_CONTENT.equals(result) && !QR_CONTENT_OLD.equals(result)) { | ||||||
|                 splitDocuments.get(splitDocuments.size() - 1).addPage(document.getPage(page)); |                 splitDocuments.get(splitDocuments.size() - 1).addPage(document.getPage(page)); | ||||||
|             } else if (page == 0) { |             } else if (page == 0) { | ||||||
|                 PDDocument firstDocument = new PDDocument(); |                 PDDocument firstDocument = new PDDocument(); | ||||||
| @ -77,7 +77,7 @@ public class AutoSplitPdfController { | |||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             // If duplexMode is true and current page is a divider, then skip next page |             // If duplexMode is true and current page is a divider, then skip next page | ||||||
|             if (duplexMode && QR_CONTENT.equals(result)) { |             if (duplexMode && (QR_CONTENT.equals(result) || QR_CONTENT_OLD.equals(result))) { | ||||||
|                 page++; |                 page++; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -29,7 +29,6 @@ import org.slf4j.Logger; | |||||||
| import org.slf4j.LoggerFactory; | import org.slf4j.LoggerFactory; | ||||||
| import org.springframework.http.ResponseEntity; | import org.springframework.http.ResponseEntity; | ||||||
| import org.springframework.web.bind.annotation.ModelAttribute; | 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.RequestMapping; | ||||||
| import org.springframework.web.bind.annotation.RestController; | import org.springframework.web.bind.annotation.RestController; | ||||||
| import org.springframework.web.multipart.MultipartFile; | import org.springframework.web.multipart.MultipartFile; | ||||||
| @ -50,7 +49,7 @@ public class FakeScanControllerWIP { | |||||||
| 
 | 
 | ||||||
|     // TODO |     // TODO | ||||||
|     @Hidden |     @Hidden | ||||||
|     @PostMapping(consumes = "multipart/form-data", value = "/fakeScan") |     // @PostMapping(consumes = "multipart/form-data", value = "/fakeScan") | ||||||
|     @Operation( |     @Operation( | ||||||
|             summary = "Repair a PDF file", |             summary = "Repair a PDF file", | ||||||
|             description = |             description = | ||||||
|  | |||||||
| @ -30,7 +30,7 @@ public class OverlayImageController { | |||||||
|     @Operation( |     @Operation( | ||||||
|             summary = "Overlay image onto a PDF file", |             summary = "Overlay image onto a PDF file", | ||||||
|             description = |             description = | ||||||
|                     "This endpoint overlays an image onto a PDF file at the specified coordinates. The image can be overlaid on every page of the PDF if specified.  Input:PDF/IMAGE Output:PDF Type:MF-SISO") |                     "This endpoint overlays an image onto a PDF file at the specified coordinates. The image can be overlaid on every page of the PDF if specified.  Input:PDF/IMAGE Output:PDF Type:SISO") | ||||||
|     public ResponseEntity<byte[]> overlayImage(@ModelAttribute OverlayImageRequest request) { |     public ResponseEntity<byte[]> overlayImage(@ModelAttribute OverlayImageRequest request) { | ||||||
|         MultipartFile pdfFile = request.getFileInput(); |         MultipartFile pdfFile = request.getFileInput(); | ||||||
|         MultipartFile imageFile = request.getImageFile(); |         MultipartFile imageFile = request.getImageFile(); | ||||||
|  | |||||||
| @ -0,0 +1,311 @@ | |||||||
|  | package stirling.software.SPDF.controller.api.misc; | ||||||
|  | 
 | ||||||
|  | import java.awt.Color; | ||||||
|  | import java.awt.image.BufferedImage; | ||||||
|  | import java.io.File; | ||||||
|  | import java.io.FileOutputStream; | ||||||
|  | import java.io.IOException; | ||||||
|  | import java.io.InputStream; | ||||||
|  | 
 | ||||||
|  | import javax.imageio.ImageIO; | ||||||
|  | 
 | ||||||
|  | import org.apache.commons.io.IOUtils; | ||||||
|  | import org.apache.pdfbox.Loader; | ||||||
|  | import org.apache.pdfbox.pdmodel.PDDocument; | ||||||
|  | import org.apache.pdfbox.pdmodel.PDPage; | ||||||
|  | import org.apache.pdfbox.pdmodel.PDPageContentStream; | ||||||
|  | import org.apache.pdfbox.pdmodel.common.PDRectangle; | ||||||
|  | import org.apache.pdfbox.pdmodel.font.PDFont; | ||||||
|  | import org.apache.pdfbox.pdmodel.font.PDType0Font; | ||||||
|  | import org.apache.pdfbox.pdmodel.font.PDType1Font; | ||||||
|  | import org.apache.pdfbox.pdmodel.font.Standard14Fonts; | ||||||
|  | import org.apache.pdfbox.pdmodel.graphics.image.LosslessFactory; | ||||||
|  | import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject; | ||||||
|  | import org.apache.pdfbox.pdmodel.graphics.state.PDExtendedGraphicsState; | ||||||
|  | import org.apache.pdfbox.util.Matrix; | ||||||
|  | import org.springframework.core.io.ClassPathResource; | ||||||
|  | import org.springframework.http.ResponseEntity; | ||||||
|  | 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 org.springframework.web.multipart.MultipartFile; | ||||||
|  | 
 | ||||||
|  | import io.swagger.v3.oas.annotations.Operation; | ||||||
|  | import io.swagger.v3.oas.annotations.tags.Tag; | ||||||
|  | 
 | ||||||
|  | import stirling.software.SPDF.model.api.misc.AddStampRequest; | ||||||
|  | import stirling.software.SPDF.utils.WebResponseUtils; | ||||||
|  | 
 | ||||||
|  | @RestController | ||||||
|  | @RequestMapping("/api/v1/misc") | ||||||
|  | @Tag(name = "Misc", description = "Miscellaneous APIs") | ||||||
|  | public class StampController { | ||||||
|  | 
 | ||||||
|  |     @PostMapping(consumes = "multipart/form-data", value = "/add-stamp") | ||||||
|  |     @Operation( | ||||||
|  |             summary = "Add stamp to a PDF file", | ||||||
|  |             description = | ||||||
|  |                     "This endpoint adds a stamp to a given PDF file. Users can specify the watermark type (text or image), rotation, opacity, width spacer, and height spacer. Input:PDF Output:PDF Type:SISO") | ||||||
|  |     public ResponseEntity<byte[]> addStamp(@ModelAttribute AddStampRequest request) | ||||||
|  |             throws IOException, Exception { | ||||||
|  |         MultipartFile pdfFile = request.getFileInput(); | ||||||
|  |         String watermarkType = request.getStampType(); | ||||||
|  |         String watermarkText = request.getStampText(); | ||||||
|  |         MultipartFile watermarkImage = request.getStampImage(); | ||||||
|  |         String alphabet = request.getAlphabet(); | ||||||
|  |         float fontSize = request.getFontSize(); | ||||||
|  |         float rotation = request.getRotation(); | ||||||
|  |         float opacity = request.getOpacity(); | ||||||
|  |         int position = request.getPosition(); // Updated to use 1-9 positioning logic | ||||||
|  |         float overrideX = request.getOverrideX(); // New field for X override | ||||||
|  |         float overrideY = request.getOverrideY(); // New field for Y override | ||||||
|  | 
 | ||||||
|  |         String customColor = request.getCustomColor(); | ||||||
|  |         float marginFactor; | ||||||
|  |         switch (request.getCustomMargin().toLowerCase()) { | ||||||
|  |             case "small": | ||||||
|  |                 marginFactor = 0.02f; | ||||||
|  |                 break; | ||||||
|  |             case "medium": | ||||||
|  |                 marginFactor = 0.035f; | ||||||
|  |                 break; | ||||||
|  |             case "large": | ||||||
|  |                 marginFactor = 0.05f; | ||||||
|  |                 break; | ||||||
|  |             case "x-large": | ||||||
|  |                 marginFactor = 0.075f; | ||||||
|  |                 break; | ||||||
|  | 
 | ||||||
|  |             default: | ||||||
|  |                 marginFactor = 0.035f; | ||||||
|  |                 break; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         // Load the input PDF | ||||||
|  |         PDDocument document = Loader.loadPDF(pdfFile.getBytes()); | ||||||
|  | 
 | ||||||
|  |         for (PDPage page : document.getPages()) { | ||||||
|  |             PDPageContentStream contentStream = | ||||||
|  |                     new PDPageContentStream( | ||||||
|  |                             document, page, PDPageContentStream.AppendMode.APPEND, true, true); | ||||||
|  | 
 | ||||||
|  |             PDExtendedGraphicsState graphicsState = new PDExtendedGraphicsState(); | ||||||
|  |             graphicsState.setNonStrokingAlphaConstant(opacity); | ||||||
|  |             contentStream.setGraphicsStateParameters(graphicsState); | ||||||
|  | 
 | ||||||
|  |             if (watermarkType.equalsIgnoreCase("text")) { | ||||||
|  |                 addTextStamp( | ||||||
|  |                         contentStream, | ||||||
|  |                         watermarkText, | ||||||
|  |                         document, | ||||||
|  |                         page, | ||||||
|  |                         rotation, | ||||||
|  |                         position, | ||||||
|  |                         fontSize, | ||||||
|  |                         alphabet, | ||||||
|  |                         overrideX, | ||||||
|  |                         overrideY, | ||||||
|  |                         marginFactor, | ||||||
|  |                         customColor); | ||||||
|  |             } else if (watermarkType.equalsIgnoreCase("image")) { | ||||||
|  |                 addImageStamp( | ||||||
|  |                         contentStream, | ||||||
|  |                         watermarkImage, | ||||||
|  |                         document, | ||||||
|  |                         page, | ||||||
|  |                         rotation, | ||||||
|  |                         position, | ||||||
|  |                         fontSize, | ||||||
|  |                         overrideX, | ||||||
|  |                         overrideY, | ||||||
|  |                         marginFactor); | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             contentStream.close(); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         return WebResponseUtils.pdfDocToWebResponse( | ||||||
|  |                 document, | ||||||
|  |                 pdfFile.getOriginalFilename().replaceFirst("[.][^.]+$", "") + "_watermarked.pdf"); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private void addTextStamp( | ||||||
|  |             PDPageContentStream contentStream, | ||||||
|  |             String watermarkText, | ||||||
|  |             PDDocument document, | ||||||
|  |             PDPage page, | ||||||
|  |             float rotation, | ||||||
|  |             int position, // 1-9 positioning logic | ||||||
|  |             float fontSize, | ||||||
|  |             String alphabet, | ||||||
|  |             float overrideX, // X override | ||||||
|  |             float overrideY, | ||||||
|  |             float marginFactor, | ||||||
|  |             String colorString) // Y override | ||||||
|  |             throws IOException { | ||||||
|  |         String resourceDir = ""; | ||||||
|  |         PDFont font = new PDType1Font(Standard14Fonts.FontName.HELVETICA); | ||||||
|  |         switch (alphabet) { | ||||||
|  |             case "arabic": | ||||||
|  |                 resourceDir = "static/fonts/NotoSansArabic-Regular.ttf"; | ||||||
|  |                 break; | ||||||
|  |             case "japanese": | ||||||
|  |                 resourceDir = "static/fonts/Meiryo.ttf"; | ||||||
|  |                 break; | ||||||
|  |             case "korean": | ||||||
|  |                 resourceDir = "static/fonts/malgun.ttf"; | ||||||
|  |                 break; | ||||||
|  |             case "chinese": | ||||||
|  |                 resourceDir = "static/fonts/SimSun.ttf"; | ||||||
|  |                 break; | ||||||
|  |             case "roman": | ||||||
|  |             default: | ||||||
|  |                 resourceDir = "static/fonts/NotoSans-Regular.ttf"; | ||||||
|  |                 break; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         if (!resourceDir.equals("")) { | ||||||
|  |             ClassPathResource classPathResource = new ClassPathResource(resourceDir); | ||||||
|  |             String fileExtension = resourceDir.substring(resourceDir.lastIndexOf(".")); | ||||||
|  |             File tempFile = File.createTempFile("NotoSansFont", fileExtension); | ||||||
|  |             try (InputStream is = classPathResource.getInputStream(); | ||||||
|  |                     FileOutputStream os = new FileOutputStream(tempFile)) { | ||||||
|  |                 IOUtils.copy(is, os); | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             font = PDType0Font.load(document, tempFile); | ||||||
|  |             tempFile.deleteOnExit(); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         contentStream.setFont(font, fontSize); | ||||||
|  | 
 | ||||||
|  |         Color redactColor; | ||||||
|  |         try { | ||||||
|  |             if (!colorString.startsWith("#")) { | ||||||
|  |                 colorString = "#" + colorString; | ||||||
|  |             } | ||||||
|  |             redactColor = Color.decode(colorString); | ||||||
|  |         } catch (NumberFormatException e) { | ||||||
|  | 
 | ||||||
|  |             redactColor = Color.LIGHT_GRAY; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         contentStream.setNonStrokingColor(redactColor); | ||||||
|  | 
 | ||||||
|  |         PDRectangle pageSize = page.getMediaBox(); | ||||||
|  |         float x, y; | ||||||
|  | 
 | ||||||
|  |         if (overrideX >= 0 && overrideY >= 0) { | ||||||
|  |             // Use override values if provided | ||||||
|  |             x = overrideX; | ||||||
|  |             y = overrideY; | ||||||
|  |         } else { | ||||||
|  |             x = | ||||||
|  |                     calculatePositionX( | ||||||
|  |                             pageSize, | ||||||
|  |                             position, | ||||||
|  |                             fontSize, | ||||||
|  |                             font, | ||||||
|  |                             fontSize, | ||||||
|  |                             watermarkText, | ||||||
|  |                             marginFactor); | ||||||
|  |             y = calculatePositionY(pageSize, position, fontSize, marginFactor); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         contentStream.beginText(); | ||||||
|  |         contentStream.setTextMatrix(Matrix.getRotateInstance(Math.toRadians(rotation), x, y)); | ||||||
|  |         contentStream.showText(watermarkText); | ||||||
|  |         contentStream.endText(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private void addImageStamp( | ||||||
|  |             PDPageContentStream contentStream, | ||||||
|  |             MultipartFile watermarkImage, | ||||||
|  |             PDDocument document, | ||||||
|  |             PDPage page, | ||||||
|  |             float rotation, | ||||||
|  |             int position, // 1-9 positioning logic | ||||||
|  |             float fontSize, | ||||||
|  |             float overrideX, | ||||||
|  |             float overrideY, | ||||||
|  |             float marginFactor) | ||||||
|  |             throws IOException { | ||||||
|  | 
 | ||||||
|  |         // Load the watermark image | ||||||
|  |         BufferedImage image = ImageIO.read(watermarkImage.getInputStream()); | ||||||
|  | 
 | ||||||
|  |         // Compute width based on original aspect ratio | ||||||
|  |         float aspectRatio = (float) image.getWidth() / (float) image.getHeight(); | ||||||
|  | 
 | ||||||
|  |         // Desired physical height (in PDF points) | ||||||
|  |         float desiredPhysicalHeight = fontSize; | ||||||
|  | 
 | ||||||
|  |         // Desired physical width based on the aspect ratio | ||||||
|  |         float desiredPhysicalWidth = desiredPhysicalHeight * aspectRatio; | ||||||
|  | 
 | ||||||
|  |         // Convert the BufferedImage to PDImageXObject | ||||||
|  |         PDImageXObject xobject = LosslessFactory.createFromImage(document, image); | ||||||
|  | 
 | ||||||
|  |         PDRectangle pageSize = page.getMediaBox(); | ||||||
|  |         float x, y; | ||||||
|  | 
 | ||||||
|  |         if (overrideX >= 0 && overrideY >= 0) { | ||||||
|  |             // Use override values if provided | ||||||
|  |             x = overrideX; | ||||||
|  |             y = overrideY; | ||||||
|  |         } else { | ||||||
|  |             x = | ||||||
|  |                     calculatePositionX( | ||||||
|  |                             pageSize, position, desiredPhysicalWidth, null, 0, null, marginFactor); | ||||||
|  |             y = calculatePositionY(pageSize, position, fontSize, marginFactor); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         contentStream.saveGraphicsState(); | ||||||
|  |         contentStream.transform(Matrix.getTranslateInstance(x, y)); | ||||||
|  |         contentStream.transform(Matrix.getRotateInstance(Math.toRadians(rotation), 0, 0)); | ||||||
|  |         contentStream.drawImage(xobject, 0, 0, desiredPhysicalWidth, desiredPhysicalHeight); | ||||||
|  |         contentStream.restoreGraphicsState(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private float calculatePositionX( | ||||||
|  |             PDRectangle pageSize, | ||||||
|  |             int position, | ||||||
|  |             float contentWidth, | ||||||
|  |             PDFont font, | ||||||
|  |             float fontSize, | ||||||
|  |             String text, | ||||||
|  |             float marginFactor) | ||||||
|  |             throws IOException { | ||||||
|  |         float actualWidth = | ||||||
|  |                 (text != null) ? calculateTextWidth(text, font, fontSize) : contentWidth; | ||||||
|  |         switch (position % 3) { | ||||||
|  |             case 1: // Left | ||||||
|  |                 return pageSize.getLowerLeftX() + marginFactor * pageSize.getWidth(); | ||||||
|  |             case 2: // Center | ||||||
|  |                 return (pageSize.getWidth() - actualWidth) / 2; | ||||||
|  |             case 0: // Right | ||||||
|  |                 return pageSize.getUpperRightX() - actualWidth - marginFactor * pageSize.getWidth(); | ||||||
|  |             default: | ||||||
|  |                 return 0; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private float calculateTextWidth(String text, PDFont font, float fontSize) throws IOException { | ||||||
|  |         return font.getStringWidth(text) / 1000 * fontSize; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private float calculatePositionY( | ||||||
|  |             PDRectangle pageSize, int position, float height, float marginFactor) { | ||||||
|  |         switch ((position - 1) / 3) { | ||||||
|  |             case 0: // Top | ||||||
|  |                 return pageSize.getUpperRightY() - height - marginFactor * pageSize.getHeight(); | ||||||
|  |             case 1: // Middle | ||||||
|  |                 return (pageSize.getHeight() - height) / 2; | ||||||
|  |             case 2: // Bottom | ||||||
|  |                 return pageSize.getLowerLeftY() + marginFactor * pageSize.getHeight(); | ||||||
|  |             default: | ||||||
|  |                 return 0; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -1,6 +1,8 @@ | |||||||
| package stirling.software.SPDF.controller.api.pipeline; | package stirling.software.SPDF.controller.api.pipeline; | ||||||
| 
 | 
 | ||||||
|  | import java.util.Arrays; | ||||||
| import java.util.HashMap; | import java.util.HashMap; | ||||||
|  | import java.util.List; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
| import java.util.regex.Matcher; | import java.util.regex.Matcher; | ||||||
| import java.util.regex.Pattern; | import java.util.regex.Pattern; | ||||||
| @ -39,6 +41,60 @@ public class ApiDocService { | |||||||
|         return "http://localhost:" + port + contextPath + "/v1/api-docs"; |         return "http://localhost:" + port + contextPath + "/v1/api-docs"; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     Map<String, List<String>> outputToFileTypes = new HashMap<>(); | ||||||
|  | 
 | ||||||
|  |     public List getExtensionTypes(boolean output, String operationName) { | ||||||
|  |         if (outputToFileTypes.size() == 0) { | ||||||
|  |             outputToFileTypes.put("PDF", Arrays.asList("pdf")); | ||||||
|  |             outputToFileTypes.put( | ||||||
|  |                     "IMAGE", | ||||||
|  |                     Arrays.asList( | ||||||
|  |                             "png", "jpg", "jpeg", "gif", "webp", "bmp", "tif", "tiff", "svg", "psd", | ||||||
|  |                             "ai", "eps")); | ||||||
|  |             outputToFileTypes.put( | ||||||
|  |                     "ZIP", | ||||||
|  |                     Arrays.asList("zip", "rar", "7z", "tar", "gz", "bz2", "xz", "lz", "lzma", "z")); | ||||||
|  |             outputToFileTypes.put("WORD", Arrays.asList("doc", "docx", "odt", "rtf")); | ||||||
|  |             outputToFileTypes.put("CSV", Arrays.asList("csv")); | ||||||
|  |             outputToFileTypes.put("JS", Arrays.asList("js", "jsx")); | ||||||
|  |             outputToFileTypes.put("HTML", Arrays.asList("html", "htm", "xhtml")); | ||||||
|  |             outputToFileTypes.put("JSON", Arrays.asList("json")); | ||||||
|  |             outputToFileTypes.put("TXT", Arrays.asList("txt", "text", "md", "markdown")); | ||||||
|  |             outputToFileTypes.put("PPT", Arrays.asList("ppt", "pptx", "odp")); | ||||||
|  |             outputToFileTypes.put("XML", Arrays.asList("xml", "xsd", "xsl")); | ||||||
|  |             outputToFileTypes.put( | ||||||
|  |                     "BOOK", | ||||||
|  |                     Arrays.asList( | ||||||
|  |                             "epub", "mobi", "azw3", "fb2", "txt", | ||||||
|  |                             "docx")); | ||||||
|  |             // type. | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         if (apiDocsJsonRootNode == null || apiDocumentation.size() == 0) { | ||||||
|  |             loadApiDocumentation(); | ||||||
|  |         } | ||||||
|  |         if (!apiDocumentation.containsKey(operationName)) { | ||||||
|  |             return null; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         ApiEndpoint endpoint = apiDocumentation.get(operationName); | ||||||
|  |         String description = endpoint.getDescription(); | ||||||
|  |         Pattern pattern = null; | ||||||
|  |         if (output) { | ||||||
|  |             pattern = Pattern.compile("Output:(\\w+)"); | ||||||
|  |         } else { | ||||||
|  |             pattern = Pattern.compile("Input:(\\w+)"); | ||||||
|  |         } | ||||||
|  |         Matcher matcher = pattern.matcher(description); | ||||||
|  |         while (matcher.find()) { | ||||||
|  |             String type = matcher.group(1).toUpperCase(); | ||||||
|  |             if (outputToFileTypes.containsKey(type)) { | ||||||
|  |                 return outputToFileTypes.get(type); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         return null; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     @Autowired(required = false) |     @Autowired(required = false) | ||||||
|     private UserServiceInterface userService; |     private UserServiceInterface userService; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -11,6 +11,7 @@ import java.nio.file.Files; | |||||||
| import java.nio.file.Path; | import java.nio.file.Path; | ||||||
| import java.nio.file.Paths; | import java.nio.file.Paths; | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
|  | import java.util.Arrays; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
| import java.util.Map.Entry; | import java.util.Map.Entry; | ||||||
| @ -82,15 +83,11 @@ public class PipelineProcessor { | |||||||
|                     operation, |                     operation, | ||||||
|                     isMultiInputOperation); |                     isMultiInputOperation); | ||||||
|             Map<String, Object> parameters = pipelineOperation.getParameters(); |             Map<String, Object> parameters = pipelineOperation.getParameters(); | ||||||
|             String inputFileExtension = ""; |             List<String> inputFileTypes = apiDocService.getExtensionTypes(false, operation); | ||||||
| 
 |             if (inputFileTypes == null) { | ||||||
|             // TODO |                 inputFileTypes = new ArrayList<String>(Arrays.asList("ALL")); | ||||||
|             // if (operationNode.has("inputFileType")) { |             } | ||||||
|             //	inputFileExtension = operationNode.get("inputFileType").asText(); |             // List outputFileTypes = apiDocService.getExtensionTypes(true, operation); | ||||||
|             // } else { |  | ||||||
|             inputFileExtension = ".pdf"; |  | ||||||
|             // } |  | ||||||
|             final String finalInputFileExtension = inputFileExtension; |  | ||||||
| 
 | 
 | ||||||
|             String url = getBaseUrl() + operation; |             String url = getBaseUrl() + operation; | ||||||
| 
 | 
 | ||||||
| @ -98,7 +95,8 @@ public class PipelineProcessor { | |||||||
|             if (!isMultiInputOperation) { |             if (!isMultiInputOperation) { | ||||||
|                 for (Resource file : outputFiles) { |                 for (Resource file : outputFiles) { | ||||||
|                     boolean hasInputFileType = false; |                     boolean hasInputFileType = false; | ||||||
|                     if (file.getFilename().endsWith(inputFileExtension)) { |                     for (String extension : inputFileTypes) { | ||||||
|  |                         if (extension.equals("ALL") || file.getFilename().endsWith(extension)) { | ||||||
|                             hasInputFileType = true; |                             hasInputFileType = true; | ||||||
|                             MultiValueMap<String, Object> body = new LinkedMultiValueMap<>(); |                             MultiValueMap<String, Object> body = new LinkedMultiValueMap<>(); | ||||||
|                             body.add("fileInput", file); |                             body.add("fileInput", file); | ||||||
| @ -109,11 +107,13 @@ public class PipelineProcessor { | |||||||
| 
 | 
 | ||||||
|                             ResponseEntity<byte[]> response = sendWebRequest(url, body); |                             ResponseEntity<byte[]> response = sendWebRequest(url, body); | ||||||
| 
 | 
 | ||||||
|                         // If the operation is filter and the response body is null or empty, skip |                             // If the operation is filter and the response body is null or empty, | ||||||
|  |                             // skip | ||||||
|                             // this |                             // this | ||||||
|                             // file |                             // file | ||||||
|                             if (operation.startsWith("filter-") |                             if (operation.startsWith("filter-") | ||||||
|                                 && (response.getBody() == null || response.getBody().length == 0)) { |                                     && (response.getBody() == null | ||||||
|  |                                             || response.getBody().length == 0)) { | ||||||
|                                 logger.info("Skipping file due to failing {}", operation); |                                 logger.info("Skipping file due to failing {}", operation); | ||||||
|                                 continue; |                                 continue; | ||||||
|                             } |                             } | ||||||
| @ -123,13 +123,14 @@ public class PipelineProcessor { | |||||||
|                                 hasErrors = true; |                                 hasErrors = true; | ||||||
|                                 continue; |                                 continue; | ||||||
|                             } |                             } | ||||||
|                         processOutputFiles(operation, file.getFilename(), response, newOutputFiles); |                             processOutputFiles(operation, response, newOutputFiles); | ||||||
|  |                         } | ||||||
|                     } |                     } | ||||||
| 
 | 
 | ||||||
|                     if (!hasInputFileType) { |                     if (!hasInputFileType) { | ||||||
|                         logPrintStream.println( |                         logPrintStream.println( | ||||||
|                                 "No files with extension " |                                 "No files with extension " | ||||||
|                                         + inputFileExtension |                                         + String.join(", ", inputFileTypes) | ||||||
|                                         + " found for operation " |                                         + " found for operation " | ||||||
|                                         + operation); |                                         + operation); | ||||||
|                         hasErrors = true; |                         hasErrors = true; | ||||||
| @ -138,13 +139,19 @@ public class PipelineProcessor { | |||||||
| 
 | 
 | ||||||
|             } else { |             } else { | ||||||
|                 // Filter and collect all files that match the inputFileExtension |                 // Filter and collect all files that match the inputFileExtension | ||||||
|                 List<Resource> matchingFiles = |                 List<Resource> matchingFiles; | ||||||
|  |                 if (inputFileTypes.contains("ALL")) { | ||||||
|  |                     matchingFiles = new ArrayList<>(outputFiles); | ||||||
|  |                 } else { | ||||||
|  |                     final List<String> finalinputFileTypes = inputFileTypes; | ||||||
|  |                     matchingFiles = | ||||||
|                             outputFiles.stream() |                             outputFiles.stream() | ||||||
|                                     .filter( |                                     .filter( | ||||||
|                                             file -> |                                             file -> | ||||||
|                                                 file.getFilename() |                                                     finalinputFileTypes.stream() | ||||||
|                                                         .endsWith(finalInputFileExtension)) |                                                             .anyMatch(file.getFilename()::endsWith)) | ||||||
|                                     .collect(Collectors.toList()); |                                     .collect(Collectors.toList()); | ||||||
|  |                 } | ||||||
| 
 | 
 | ||||||
|                 // Check if there are matching files |                 // Check if there are matching files | ||||||
|                 if (!matchingFiles.isEmpty()) { |                 if (!matchingFiles.isEmpty()) { | ||||||
| @ -164,11 +171,7 @@ public class PipelineProcessor { | |||||||
| 
 | 
 | ||||||
|                     // Handle the response |                     // Handle the response | ||||||
|                     if (response.getStatusCode().equals(HttpStatus.OK)) { |                     if (response.getStatusCode().equals(HttpStatus.OK)) { | ||||||
|                         processOutputFiles( |                         processOutputFiles(operation, response, newOutputFiles); | ||||||
|                                 operation, |  | ||||||
|                                 matchingFiles.get(0).getFilename(), |  | ||||||
|                                 response, |  | ||||||
|                                 newOutputFiles); |  | ||||||
|                     } else { |                     } else { | ||||||
|                         // Log error if the response status is not OK |                         // Log error if the response status is not OK | ||||||
|                         logPrintStream.println( |                         logPrintStream.println( | ||||||
| @ -178,7 +181,7 @@ public class PipelineProcessor { | |||||||
|                 } else { |                 } else { | ||||||
|                     logPrintStream.println( |                     logPrintStream.println( | ||||||
|                             "No files with extension " |                             "No files with extension " | ||||||
|                                     + inputFileExtension |                                     + String.join(", ", inputFileTypes) | ||||||
|                                     + " found for multi-input operation " |                                     + " found for multi-input operation " | ||||||
|                                     + operation); |                                     + operation); | ||||||
|                     hasErrors = true; |                     hasErrors = true; | ||||||
| @ -211,11 +214,29 @@ public class PipelineProcessor { | |||||||
|         return restTemplate.exchange(url, HttpMethod.POST, entity, byte[].class); |         return restTemplate.exchange(url, HttpMethod.POST, entity, byte[].class); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     public static String removeTrailingNaming(String filename) { | ||||||
|  |         // Splitting filename into name and extension | ||||||
|  |         int dotIndex = filename.lastIndexOf("."); | ||||||
|  |         if (dotIndex == -1) { | ||||||
|  |             // No extension found | ||||||
|  |             return filename; | ||||||
|  |         } | ||||||
|  |         String name = filename.substring(0, dotIndex); | ||||||
|  |         String extension = filename.substring(dotIndex); | ||||||
|  | 
 | ||||||
|  |         // Finding the last underscore | ||||||
|  |         int underscoreIndex = name.lastIndexOf("_"); | ||||||
|  |         if (underscoreIndex == -1) { | ||||||
|  |             // No underscore found | ||||||
|  |             return filename; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         // Removing the last part and reattaching the extension | ||||||
|  |         return name.substring(0, underscoreIndex) + extension; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     private List<Resource> processOutputFiles( |     private List<Resource> processOutputFiles( | ||||||
|             String operation, |             String operation, ResponseEntity<byte[]> response, List<Resource> newOutputFiles) | ||||||
|             String fileName, |  | ||||||
|             ResponseEntity<byte[]> response, |  | ||||||
|             List<Resource> newOutputFiles) |  | ||||||
|             throws IOException { |             throws IOException { | ||||||
|         // Define filename |         // Define filename | ||||||
|         String newFilename; |         String newFilename; | ||||||
| @ -227,7 +248,7 @@ public class PipelineProcessor { | |||||||
|             newFilename = extractFilename(response); |             newFilename = extractFilename(response); | ||||||
|         } else { |         } else { | ||||||
|             // Otherwise, keep the original filename. |             // Otherwise, keep the original filename. | ||||||
|             newFilename = fileName; |             newFilename = removeTrailingNaming(extractFilename(response)); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // Check if the response body is a zip file |         // Check if the response body is a zip file | ||||||
|  | |||||||
| @ -74,7 +74,7 @@ public class CertSignController { | |||||||
|     @Operation( |     @Operation( | ||||||
|             summary = "Sign PDF with a Digital Certificate", |             summary = "Sign PDF with a Digital Certificate", | ||||||
|             description = |             description = | ||||||
|                     "This endpoint accepts a PDF file, a digital certificate and related information to sign the PDF. It then returns the digitally signed PDF file. Input:PDF Output:PDF Type:MF-SISO") |                     "This endpoint accepts a PDF file, a digital certificate and related information to sign the PDF. It then returns the digitally signed PDF file. Input:PDF Output:PDF Type:SISO") | ||||||
|     public ResponseEntity<byte[]> signPDFWithCert(@ModelAttribute SignPDFWithCertRequest request) |     public ResponseEntity<byte[]> signPDFWithCert(@ModelAttribute SignPDFWithCertRequest request) | ||||||
|             throws Exception { |             throws Exception { | ||||||
|         MultipartFile pdf = request.getFileInput(); |         MultipartFile pdf = request.getFileInput(); | ||||||
|  | |||||||
| @ -39,6 +39,13 @@ public class OtherWebController { | |||||||
|         return "misc/show-javascript"; |         return "misc/show-javascript"; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     @GetMapping("/stamp") | ||||||
|  |     @Hidden | ||||||
|  |     public String stampForm(Model model) { | ||||||
|  |         model.addAttribute("currentPage", "stamp"); | ||||||
|  |         return "misc/stamp"; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     @GetMapping("/add-page-numbers") |     @GetMapping("/add-page-numbers") | ||||||
|     @Hidden |     @Hidden | ||||||
|     public String addPageNumbersForm(Model model) { |     public String addPageNumbersForm(Model model) { | ||||||
|  | |||||||
| @ -0,0 +1,52 @@ | |||||||
|  | package stirling.software.SPDF.model.api.converters; | ||||||
|  | 
 | ||||||
|  | import io.swagger.v3.oas.annotations.media.Schema; | ||||||
|  | 
 | ||||||
|  | import lombok.Data; | ||||||
|  | import lombok.EqualsAndHashCode; | ||||||
|  | import stirling.software.SPDF.model.api.PDFFile; | ||||||
|  | 
 | ||||||
|  | @Data | ||||||
|  | @EqualsAndHashCode(callSuper = true) | ||||||
|  | public class HTMLToPdfRequest extends PDFFile { | ||||||
|  | 
 | ||||||
|  |     @Schema( | ||||||
|  |             description = "Zoom level for displaying the website. Default is '1'.", | ||||||
|  |             defaultValue = "1") | ||||||
|  |     private float zoom; | ||||||
|  | 
 | ||||||
|  |     @Schema(description = "Width of the page in centimeters.") | ||||||
|  |     private Float pageWidth; | ||||||
|  | 
 | ||||||
|  |     @Schema(description = "Height of the page in centimeters.") | ||||||
|  |     private Float pageHeight; | ||||||
|  | 
 | ||||||
|  |     @Schema(description = "Top margin of the page in millimeters.") | ||||||
|  |     private Float marginTop; | ||||||
|  | 
 | ||||||
|  |     @Schema(description = "Bottom margin of the page in millimeters.") | ||||||
|  |     private Float marginBottom; | ||||||
|  | 
 | ||||||
|  |     @Schema(description = "Left margin of the page in millimeters.") | ||||||
|  |     private Float marginLeft; | ||||||
|  | 
 | ||||||
|  |     @Schema(description = "Right margin of the page in millimeters.") | ||||||
|  |     private Float marginRight; | ||||||
|  | 
 | ||||||
|  |     @Schema( | ||||||
|  |             description = "Enable or disable rendering of website background.", | ||||||
|  |             allowableValues = {"Yes", "No"}) | ||||||
|  |     private String printBackground; | ||||||
|  | 
 | ||||||
|  |     @Schema( | ||||||
|  |             description = | ||||||
|  |                     "Enable or disable the default header. The default header includes the name of the page on the left and the page number on the right.", | ||||||
|  |             allowableValues = {"Yes", "No"}) | ||||||
|  |     private String defaultHeader; | ||||||
|  | 
 | ||||||
|  |     @Schema( | ||||||
|  |             description = "Change the CSS media type of the page. Defaults to 'print'.", | ||||||
|  |             allowableValues = {"none", "print", "screen"}, | ||||||
|  |             defaultValue = "print") | ||||||
|  |     private String cssMediaType; | ||||||
|  | } | ||||||
| @ -0,0 +1,68 @@ | |||||||
|  | package stirling.software.SPDF.model.api.misc; | ||||||
|  | 
 | ||||||
|  | import org.springframework.web.multipart.MultipartFile; | ||||||
|  | 
 | ||||||
|  | import io.swagger.v3.oas.annotations.media.Schema; | ||||||
|  | 
 | ||||||
|  | import lombok.Data; | ||||||
|  | import lombok.EqualsAndHashCode; | ||||||
|  | import stirling.software.SPDF.model.api.PDFFile; | ||||||
|  | 
 | ||||||
|  | @Data | ||||||
|  | @EqualsAndHashCode(callSuper = true) | ||||||
|  | public class AddStampRequest extends PDFFile { | ||||||
|  | 
 | ||||||
|  |     @Schema( | ||||||
|  |             description = "The stamp type (text or image)", | ||||||
|  |             allowableValues = {"text", "image"}, | ||||||
|  |             required = true) | ||||||
|  |     private String stampType; | ||||||
|  | 
 | ||||||
|  |     @Schema(description = "The stamp text") | ||||||
|  |     private String stampText; | ||||||
|  | 
 | ||||||
|  |     @Schema(description = "The stamp image") | ||||||
|  |     private MultipartFile stampImage; | ||||||
|  | 
 | ||||||
|  |     @Schema( | ||||||
|  |             description = "The selected alphabet", | ||||||
|  |             allowableValues = {"roman", "arabic", "japanese", "korean", "chinese"}, | ||||||
|  |             defaultValue = "roman") | ||||||
|  |     private String alphabet = "roman"; | ||||||
|  | 
 | ||||||
|  |     @Schema(description = "The font size of the stamp text", example = "30") | ||||||
|  |     private float fontSize = 30; | ||||||
|  | 
 | ||||||
|  |     @Schema(description = "The rotation of the stamp in degrees", example = "0") | ||||||
|  |     private float rotation = 0; | ||||||
|  | 
 | ||||||
|  |     @Schema(description = "The opacity of the stamp (0.0 - 1.0)", example = "0.5") | ||||||
|  |     private float opacity; | ||||||
|  | 
 | ||||||
|  |     @Schema( | ||||||
|  |             description = | ||||||
|  |                     "Position for stamp placement based on a 1-9 grid (1: bottom-left, 2: bottom-center, ..., 9: top-right)", | ||||||
|  |             example = "1") | ||||||
|  |     private int position; | ||||||
|  | 
 | ||||||
|  |     @Schema( | ||||||
|  |             description = | ||||||
|  |                     "Override X coordinate for stamp placement. If set, it will override the position-based calculation. Negative value means no override.", | ||||||
|  |             example = "-1") | ||||||
|  |     private float overrideX = -1; // Default to -1 indicating no override | ||||||
|  | 
 | ||||||
|  |     @Schema( | ||||||
|  |             description = | ||||||
|  |                     "Override Y coordinate for stamp placement. If set, it will override the position-based calculation. Negative value means no override.", | ||||||
|  |             example = "-1") | ||||||
|  |     private float overrideY = -1; // Default to -1 indicating no override | ||||||
|  | 
 | ||||||
|  |     @Schema( | ||||||
|  |             description = "Specifies the margin size for the stamp.", | ||||||
|  |             allowableValues = {"small", "medium", "large", "x-large"}, | ||||||
|  |             defaultValue = "medium") | ||||||
|  |     private String customMargin = "medium"; | ||||||
|  | 
 | ||||||
|  |     @Schema(description = "The color for stamp", defaultValue = "#d3d3d3") | ||||||
|  |     private String customColor = "#d3d3d3"; | ||||||
|  | } | ||||||
| @ -2,6 +2,7 @@ package stirling.software.SPDF.utils; | |||||||
| 
 | 
 | ||||||
| import java.io.ByteArrayInputStream; | import java.io.ByteArrayInputStream; | ||||||
| import java.io.IOException; | import java.io.IOException; | ||||||
|  | import java.nio.charset.StandardCharsets; | ||||||
| import java.nio.file.Files; | import java.nio.file.Files; | ||||||
| import java.nio.file.Path; | import java.nio.file.Path; | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
| @ -11,12 +12,16 @@ import java.util.stream.Stream; | |||||||
| import java.util.zip.ZipEntry; | import java.util.zip.ZipEntry; | ||||||
| import java.util.zip.ZipInputStream; | import java.util.zip.ZipInputStream; | ||||||
| 
 | 
 | ||||||
|  | import stirling.software.SPDF.model.api.converters.HTMLToPdfRequest; | ||||||
| import stirling.software.SPDF.utils.ProcessExecutor.ProcessExecutorResult; | import stirling.software.SPDF.utils.ProcessExecutor.ProcessExecutorResult; | ||||||
| 
 | 
 | ||||||
| public class FileToPdf { | public class FileToPdf { | ||||||
| 
 | 
 | ||||||
|     public static byte[] convertHtmlToPdf( |     public static byte[] convertHtmlToPdf( | ||||||
|             byte[] fileBytes, String fileName, boolean htmlFormatsInstalled) |             HTMLToPdfRequest request, | ||||||
|  |             byte[] fileBytes, | ||||||
|  |             String fileName, | ||||||
|  |             boolean htmlFormatsInstalled) | ||||||
|             throws IOException, InterruptedException { |             throws IOException, InterruptedException { | ||||||
| 
 | 
 | ||||||
|         Path tempOutputFile = Files.createTempFile("output_", ".pdf"); |         Path tempOutputFile = Files.createTempFile("output_", ".pdf"); | ||||||
| @ -36,6 +41,65 @@ public class FileToPdf { | |||||||
|             } else { |             } else { | ||||||
|                 command.add("wkhtmltopdf"); |                 command.add("wkhtmltopdf"); | ||||||
|                 command.add("--enable-local-file-access"); |                 command.add("--enable-local-file-access"); | ||||||
|  |                 command.add("--load-error-handling"); | ||||||
|  |                 command.add("ignore"); | ||||||
|  |                 command.add("--load-media-error-handling"); | ||||||
|  |                 command.add("ignore"); | ||||||
|  |                 command.add("--zoom"); | ||||||
|  |                 command.add(String.valueOf(request.getZoom())); | ||||||
|  | 
 | ||||||
|  |                 // if custom zoom add zoom style direct to html | ||||||
|  |                 // https://github.com/wkhtmltopdf/wkhtmltopdf/issues/4900 | ||||||
|  |                 if (request.getZoom() != 1.0) { | ||||||
|  |                     String htmlContent = new String(Files.readAllBytes(tempInputFile)); | ||||||
|  | 
 | ||||||
|  |                     String zoomStyle = "<style>body { zoom: " + request.getZoom() + "; }</style>"; | ||||||
|  |                     // Check for <head> tag, add style tag to associated tag | ||||||
|  |                     if (htmlContent.contains("<head>")) { | ||||||
|  |                         htmlContent = htmlContent.replace("<head>", "<head>" + zoomStyle); | ||||||
|  |                     } else if (htmlContent.contains("<html>")) { | ||||||
|  |                         // If no <head> tag, but <html> tag exists | ||||||
|  |                         htmlContent = htmlContent.replace("<html>", "<html>" + zoomStyle); | ||||||
|  |                     } else { | ||||||
|  |                         // If neither <head> nor <html> tags exist | ||||||
|  |                         htmlContent = zoomStyle + htmlContent; | ||||||
|  |                     } | ||||||
|  |                     // rewrite new html to file | ||||||
|  |                     Files.write(tempInputFile, htmlContent.getBytes(StandardCharsets.UTF_8)); | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  |                 if (request.getPageWidth() != null) { | ||||||
|  |                     command.add("--page-width"); | ||||||
|  |                     command.add(request.getPageWidth() + "cm"); | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  |                 if (request.getPageHeight() != null) { | ||||||
|  |                     command.add("--page-height"); | ||||||
|  |                     command.add(request.getPageHeight() + "cm"); | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  |                 if (request.getMarginTop() != null) { | ||||||
|  |                     command.add("--margin-top"); | ||||||
|  |                     command.add(request.getMarginTop() + "mm"); | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  |                 // Repeat similar pattern for marginBottom, marginLeft, marginRight | ||||||
|  | 
 | ||||||
|  |                 if ("Yes".equalsIgnoreCase(request.getPrintBackground())) { | ||||||
|  |                     command.add("--background"); | ||||||
|  |                 } else { | ||||||
|  |                     command.add("--no-background"); | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  |                 if ("Yes".equalsIgnoreCase(request.getDefaultHeader())) { | ||||||
|  |                     command.add("--default-header"); | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  |                 if ("print".equalsIgnoreCase(request.getCssMediaType())) { | ||||||
|  |                     command.add("--print-media-type"); | ||||||
|  |                 } else if ("screen".equalsIgnoreCase(request.getCssMediaType())) { | ||||||
|  |                     command.add("--no-print-media-type"); | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             command.add(tempInputFile.toString()); |             command.add(tempInputFile.toString()); | ||||||
| @ -59,7 +123,13 @@ public class FileToPdf { | |||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             pdfBytes = Files.readAllBytes(tempOutputFile); |             pdfBytes = Files.readAllBytes(tempOutputFile); | ||||||
|  |         } catch (IOException e) { | ||||||
|  |             pdfBytes = Files.readAllBytes(tempOutputFile); | ||||||
|  |             if (pdfBytes.length < 1) { | ||||||
|  |                 throw e; | ||||||
|  |             } | ||||||
|         } finally { |         } finally { | ||||||
|  | 
 | ||||||
|             // Clean up temporary files |             // Clean up temporary files | ||||||
|             Files.delete(tempOutputFile); |             Files.delete(tempOutputFile); | ||||||
|             Files.delete(tempInputFile); |             Files.delete(tempInputFile); | ||||||
| @ -130,7 +200,6 @@ public class FileToPdf { | |||||||
|             command.add("ebook-convert"); |             command.add("ebook-convert"); | ||||||
|             command.add(tempInputFile.toString()); |             command.add(tempInputFile.toString()); | ||||||
|             command.add(tempOutputFile.toString()); |             command.add(tempOutputFile.toString()); | ||||||
| 
 |  | ||||||
|             ProcessExecutorResult returnCode = |             ProcessExecutorResult returnCode = | ||||||
|                     ProcessExecutor.getInstance(ProcessExecutor.Processes.CALIBRE) |                     ProcessExecutor.getInstance(ProcessExecutor.Processes.CALIBRE) | ||||||
|                             .runCommandWithOutputHandling(command); |                             .runCommandWithOutputHandling(command); | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Blue | |||||||
| custom=Custom... | custom=Custom... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=Credentials changed! | changedCredsMessage=Credentials changed! | ||||||
| notAuthenticatedMessage=User not authenticated. | notAuthenticatedMessage=User not authenticated. | ||||||
| userNotFoundMessage=User not found. | userNotFoundMessage=User not found. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Split PDF by Sections | |||||||
| home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | ||||||
| split-by-sections.tags=Section Split, Divide, Customize | split-by-sections.tags=Section Split, Divide, Customize | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML To PDF | |||||||
| HTMLToPDF.help=Accepts HTML files and ZIPs containing html/css/images etc required | HTMLToPDF.help=Accepts HTML files and ZIPs containing html/css/images etc required | ||||||
| HTMLToPDF.submit=Convert | HTMLToPDF.submit=Convert | ||||||
| HTMLToPDF.credit=Uses WeasyPrint | HTMLToPDF.credit=Uses WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=Sanitize PDF | sanitizePDF.title=Sanitize PDF | ||||||
| sanitizePDF.header=Sanitize a PDF file | sanitizePDF.header=Sanitize a PDF file | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Синьо | |||||||
| custom=Персонализиране... | custom=Персонализиране... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=Идентификационните данни са променени! | changedCredsMessage=Идентификационните данни са променени! | ||||||
| notAuthenticatedMessage=Потребителят не е автентикиран. | notAuthenticatedMessage=Потребителят не е автентикиран. | ||||||
| userNotFoundMessage=Потребителят не е намерен | userNotFoundMessage=Потребителят не е намерен | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Split PDF by Sections | |||||||
| home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | ||||||
| split-by-sections.tags=Section Split, Divide, Customize | split-by-sections.tags=Section Split, Divide, Customize | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML към PDF | |||||||
| HTMLToPDF.help=Приема HTML файлове и ZIP файлове, съдържащи html/css/изображения и т.н | HTMLToPDF.help=Приема HTML файлове и ZIP файлове, съдържащи html/css/изображения и т.н | ||||||
| HTMLToPDF.submit=Преобразуване | HTMLToPDF.submit=Преобразуване | ||||||
| HTMLToPDF.credit=Използва WeasyPrint | HTMLToPDF.credit=Използва WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=Дезинфектирай PDF | sanitizePDF.title=Дезинфектирай PDF | ||||||
| sanitizePDF.header=Дезинфектира PDF файл | sanitizePDF.header=Дезинфектира PDF файл | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Blau | |||||||
| custom=Personalitzat... | custom=Personalitzat... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=Credentials changed! | changedCredsMessage=Credentials changed! | ||||||
| notAuthenticatedMessage=User not authenticated. | notAuthenticatedMessage=User not authenticated. | ||||||
| userNotFoundMessage=User not found. | userNotFoundMessage=User not found. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Split PDF by Sections | |||||||
| home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | ||||||
| split-by-sections.tags=Section Split, Divide, Customize | split-by-sections.tags=Section Split, Divide, Customize | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML To PDF | |||||||
| HTMLToPDF.help=Accepts HTML files and ZIPs containing html/css/images etc required | HTMLToPDF.help=Accepts HTML files and ZIPs containing html/css/images etc required | ||||||
| HTMLToPDF.submit=Convert | HTMLToPDF.submit=Convert | ||||||
| HTMLToPDF.credit=Uses WeasyPrint | HTMLToPDF.credit=Uses WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=Sanitize PDF | sanitizePDF.title=Sanitize PDF | ||||||
| sanitizePDF.header=Sanitize a PDF file | sanitizePDF.header=Sanitize a PDF file | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Blau | |||||||
| custom=benutzerdefiniert... | custom=benutzerdefiniert... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=Anmeldedaten geändert! | changedCredsMessage=Anmeldedaten geändert! | ||||||
| notAuthenticatedMessage=Benutzer nicht authentifiziert. | notAuthenticatedMessage=Benutzer nicht authentifiziert. | ||||||
| userNotFoundMessage=Benutzer nicht gefunden. | userNotFoundMessage=Benutzer nicht gefunden. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=PDF in Abschnitte teilen | |||||||
| home.split-by-sections.desc=Teilen Sie jede Seite einer PDF-Datei in kleinere horizontale und vertikale Abschnitte auf | home.split-by-sections.desc=Teilen Sie jede Seite einer PDF-Datei in kleinere horizontale und vertikale Abschnitte auf | ||||||
| split-by-sections.tags=abschnitte,teilen,bearbeiten | split-by-sections.tags=abschnitte,teilen,bearbeiten | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML zu PDF | |||||||
| HTMLToPDF.help=Akzeptiert HTML-Dateien und ZIPs mit html/css/images etc. | HTMLToPDF.help=Akzeptiert HTML-Dateien und ZIPs mit html/css/images etc. | ||||||
| HTMLToPDF.submit=Konvertieren | HTMLToPDF.submit=Konvertieren | ||||||
| HTMLToPDF.credit=Verwendet WeasyPrint | HTMLToPDF.credit=Verwendet WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=PDF Bereinigen | sanitizePDF.title=PDF Bereinigen | ||||||
| sanitizePDF.header=PDF Bereinigen | sanitizePDF.header=PDF Bereinigen | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=\u039C\u03C0\u03BB\u03AD | |||||||
| custom=\u03A0\u03C1\u03BF\u03C3\u03B1\u03C1\u03BC\u03BF\u03B3\u03AE... | custom=\u03A0\u03C1\u03BF\u03C3\u03B1\u03C1\u03BC\u03BF\u03B3\u03AE... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=\u03A4\u03B1 \u03B4\u03B9\u03B1\u03C0\u03B9\u03C3\u03C4\u03B5\u03C5\u03C4\u03AE\u03C1\u03B9\u03B1 \u03AD\u03C7\u03BF\u03C5\u03BD \u03B1\u03BB\u03BB\u03AC\u03BE\u03B5\u03B9! | changedCredsMessage=\u03A4\u03B1 \u03B4\u03B9\u03B1\u03C0\u03B9\u03C3\u03C4\u03B5\u03C5\u03C4\u03AE\u03C1\u03B9\u03B1 \u03AD\u03C7\u03BF\u03C5\u03BD \u03B1\u03BB\u03BB\u03AC\u03BE\u03B5\u03B9! | ||||||
| notAuthenticatedMessage=\u039F \u03C7\u03C1\u03AE\u03C3\u03C4\u03B7\u03C2 \u03B4\u03B5\u03BD \u03AD\u03C7\u03B5\u03B9 \u03B1\u03C5\u03B8\u03B5\u03BD\u03C4\u03B9\u03BA\u03BF\u03C0\u03BF\u03B9\u03B7\u03B8\u03B5\u03AF. | notAuthenticatedMessage=\u039F \u03C7\u03C1\u03AE\u03C3\u03C4\u03B7\u03C2 \u03B4\u03B5\u03BD \u03AD\u03C7\u03B5\u03B9 \u03B1\u03C5\u03B8\u03B5\u03BD\u03C4\u03B9\u03BA\u03BF\u03C0\u03BF\u03B9\u03B7\u03B8\u03B5\u03AF. | ||||||
| userNotFoundMessage=\u039F \u03C7\u03C1\u03AE\u03C3\u03C4\u03B7\u03C2 \u03B4\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B5. | userNotFoundMessage=\u039F \u03C7\u03C1\u03AE\u03C3\u03C4\u03B7\u03C2 \u03B4\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B5. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Split PDF by Sections | |||||||
| home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | ||||||
| split-by-sections.tags=Section Split, Divide, Customize | split-by-sections.tags=Section Split, Divide, Customize | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML \u03C3\u03B5 PDF | |||||||
| HTMLToPDF.help=\u0394\u03AD\u03C7\u03B5\u03C4\u03B1\u03B9 \u03B1\u03C1\u03C7\u03B5\u03AF\u03B1 \u03C4\u03CD\u03C0\u03BF\u03C5 HTML \u03BA\u03B1\u03B9 \u03C4\u03CD\u03C0\u03BF\u03C5 ZIP \u03C0\u03BF\u03C5 \u03C0\u03B5\u03C1\u03B9\u03AD\u03C7\u03BF\u03C5\u03BD html/css/\u03B5\u03B9\u03BA\u03CC\u03BD\u03B5\u03C2 \u03BA.\u03BB\u03C0. \u03C0\u03BF\u03C5 \u03B1\u03C0\u03B1\u03B9\u03C4\u03BF\u03CD\u03BD\u03C4\u03B1\u03B9 | HTMLToPDF.help=\u0394\u03AD\u03C7\u03B5\u03C4\u03B1\u03B9 \u03B1\u03C1\u03C7\u03B5\u03AF\u03B1 \u03C4\u03CD\u03C0\u03BF\u03C5 HTML \u03BA\u03B1\u03B9 \u03C4\u03CD\u03C0\u03BF\u03C5 ZIP \u03C0\u03BF\u03C5 \u03C0\u03B5\u03C1\u03B9\u03AD\u03C7\u03BF\u03C5\u03BD html/css/\u03B5\u03B9\u03BA\u03CC\u03BD\u03B5\u03C2 \u03BA.\u03BB\u03C0. \u03C0\u03BF\u03C5 \u03B1\u03C0\u03B1\u03B9\u03C4\u03BF\u03CD\u03BD\u03C4\u03B1\u03B9 | ||||||
| HTMLToPDF.submit=\u039C\u03B5\u03C4\u03B1\u03C4\u03C1\u03BF\u03C0\u03AE | HTMLToPDF.submit=\u039C\u03B5\u03C4\u03B1\u03C4\u03C1\u03BF\u03C0\u03AE | ||||||
| HTMLToPDF.credit=\u03A7\u03C1\u03B7\u03C3\u03B9\u03BC\u03BF\u03C0\u03BF\u03B9\u03B5\u03AF WeasyPrint | HTMLToPDF.credit=\u03A7\u03C1\u03B7\u03C3\u03B9\u03BC\u03BF\u03C0\u03BF\u03B9\u03B5\u03AF WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=\u0391\u03C0\u03BF\u03BB\u03CD\u03BC\u03B1\u03BD\u03C3\u03B7 PDF | sanitizePDF.title=\u0391\u03C0\u03BF\u03BB\u03CD\u03BC\u03B1\u03BD\u03C3\u03B7 PDF | ||||||
| sanitizePDF.header=\u0391\u03C0\u03BF\u03BB\u03CD\u03BC\u03B1\u03BD\u03C3\u03B7 \u03B5\u03BD\u03CC\u03C2 PDF \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF\u03C5 | sanitizePDF.header=\u0391\u03C0\u03BF\u03BB\u03CD\u03BC\u03B1\u03BD\u03C3\u03B7 \u03B5\u03BD\u03CC\u03C2 PDF \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF\u03C5 | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Blue | |||||||
| custom=Custom... | custom=Custom... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=Credentials changed! | changedCredsMessage=Credentials changed! | ||||||
| notAuthenticatedMessage=User not authenticated. | notAuthenticatedMessage=User not authenticated. | ||||||
| userNotFoundMessage=User not found. | userNotFoundMessage=User not found. | ||||||
| @ -385,6 +386,11 @@ home.split-by-sections.title=Split PDF by Sections | |||||||
| home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | ||||||
| split-by-sections.tags=Section Split, Divide, Customize | split-by-sections.tags=Section Split, Divide, Customize | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -460,8 +466,38 @@ HTMLToPDF.header=HTML To PDF | |||||||
| HTMLToPDF.help=Accepts HTML files and ZIPs containing html/css/images etc required | HTMLToPDF.help=Accepts HTML files and ZIPs containing html/css/images etc required | ||||||
| HTMLToPDF.submit=Convert | HTMLToPDF.submit=Convert | ||||||
| HTMLToPDF.credit=Uses WeasyPrint | HTMLToPDF.credit=Uses WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=Sanitize PDF | sanitizePDF.title=Sanitize PDF | ||||||
| sanitizePDF.header=Sanitize a PDF file | sanitizePDF.header=Sanitize a PDF file | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Blue | |||||||
| custom=Custom... | custom=Custom... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=Credentials changed! | changedCredsMessage=Credentials changed! | ||||||
| notAuthenticatedMessage=User not authenticated. | notAuthenticatedMessage=User not authenticated. | ||||||
| userNotFoundMessage=User not found. | userNotFoundMessage=User not found. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Split PDF by Sections | |||||||
| home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | ||||||
| split-by-sections.tags=Section Split, Divide, Customize | split-by-sections.tags=Section Split, Divide, Customize | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML To PDF | |||||||
| HTMLToPDF.help=Accepts HTML files and ZIPs containing html/css/images etc required | HTMLToPDF.help=Accepts HTML files and ZIPs containing html/css/images etc required | ||||||
| HTMLToPDF.submit=Convert | HTMLToPDF.submit=Convert | ||||||
| HTMLToPDF.credit=Uses WeasyPrint | HTMLToPDF.credit=Uses WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=Sanitize PDF | sanitizePDF.title=Sanitize PDF | ||||||
| sanitizePDF.header=Sanitize a PDF file | sanitizePDF.header=Sanitize a PDF file | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Azul | |||||||
| custom=Personalizado... | custom=Personalizado... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=Se cambiaron las credenciales! | changedCredsMessage=Se cambiaron las credenciales! | ||||||
| notAuthenticatedMessage=Usuario no autentificado. | notAuthenticatedMessage=Usuario no autentificado. | ||||||
| userNotFoundMessage=Usuario no encontrado. | userNotFoundMessage=Usuario no encontrado. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Dividir PDF por Secciones | |||||||
| home.split-by-sections.desc=Dividir cada página de un PDF en secciones verticales y horizontales más pequeñas | home.split-by-sections.desc=Dividir cada página de un PDF en secciones verticales y horizontales más pequeñas | ||||||
| split-by-sections.tags=Dividir sección, Dividir, Personalizar | split-by-sections.tags=Dividir sección, Dividir, Personalizar | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML a PDF | |||||||
| HTMLToPDF.help=Acepta archivos HTML y ZIPs conteniendo los html/css/imágenes, etc, requeridas | HTMLToPDF.help=Acepta archivos HTML y ZIPs conteniendo los html/css/imágenes, etc, requeridas | ||||||
| HTMLToPDF.submit=Convertir | HTMLToPDF.submit=Convertir | ||||||
| HTMLToPDF.credit=Utiliza WeasyPrint | HTMLToPDF.credit=Utiliza WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=Desinfectar archivo PDF | sanitizePDF.title=Desinfectar archivo PDF | ||||||
| sanitizePDF.header=Desinfectar un archivo PDF | sanitizePDF.header=Desinfectar un archivo PDF | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Urdina | |||||||
| custom=Pertsonalizatu... | custom=Pertsonalizatu... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=Credentials changed! | changedCredsMessage=Credentials changed! | ||||||
| notAuthenticatedMessage=User not authenticated. | notAuthenticatedMessage=User not authenticated. | ||||||
| userNotFoundMessage=User not found. | userNotFoundMessage=User not found. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Split PDF by Sections | |||||||
| home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | ||||||
| split-by-sections.tags=Section Split, Divide, Customize | split-by-sections.tags=Section Split, Divide, Customize | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML bat PDF-ra | |||||||
| HTMLToPDF.help=Html/css/images etab dituen HTML eta Zip fitxategiak onartzen ditu | HTMLToPDF.help=Html/css/images etab dituen HTML eta Zip fitxategiak onartzen ditu | ||||||
| HTMLToPDF.submit=Bihurtu | HTMLToPDF.submit=Bihurtu | ||||||
| HTMLToPDF.credit=WeasyPrint darabil | HTMLToPDF.credit=WeasyPrint darabil | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=PDF-a desinfektatu | sanitizePDF.title=PDF-a desinfektatu | ||||||
| sanitizePDF.header=PDF fitxategi bat desinfektatu | sanitizePDF.header=PDF fitxategi bat desinfektatu | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Bleu | |||||||
| custom=Personnalisé\u2026 | custom=Personnalisé\u2026 | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=Les identifiants ont été mis à jour\u00a0! | changedCredsMessage=Les identifiants ont été mis à jour\u00a0! | ||||||
| notAuthenticatedMessage=Utilisateur non authentifié. | notAuthenticatedMessage=Utilisateur non authentifié. | ||||||
| userNotFoundMessage=Utilisateur non trouvé. | userNotFoundMessage=Utilisateur non trouvé. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Split PDF by Sections | |||||||
| home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | ||||||
| split-by-sections.tags=Section Split, Divide, Customize | split-by-sections.tags=Section Split, Divide, Customize | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML en PDF | |||||||
| HTMLToPDF.help=Accepte les fichiers HTML et les ZIP contenant du HTML, du CSS, des images, etc. (requis). | HTMLToPDF.help=Accepte les fichiers HTML et les ZIP contenant du HTML, du CSS, des images, etc. (requis). | ||||||
| HTMLToPDF.submit=Convertir | HTMLToPDF.submit=Convertir | ||||||
| HTMLToPDF.credit=Utilise WeasyPrint. | HTMLToPDF.credit=Utilise WeasyPrint. | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=Assainir | sanitizePDF.title=Assainir | ||||||
| sanitizePDF.header=Assainir | sanitizePDF.header=Assainir | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=नीला | |||||||
| custom=कस्टम... | custom=कस्टम... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=क्रेडेंशियल्स बदल दी गईं! | changedCredsMessage=क्रेडेंशियल्स बदल दी गईं! | ||||||
| notAuthenticatedMessage=उपयोगकर्ता प्रमाणित नहीं है। | notAuthenticatedMessage=उपयोगकर्ता प्रमाणित नहीं है। | ||||||
| userNotFoundMessage=उपयोगकर्ता नहीं मिला। | userNotFoundMessage=उपयोगकर्ता नहीं मिला। | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=खंडों से पीडीएफ़ वि | |||||||
| home.split-by-sections.desc=पीडीएफ़ के प्रत्येक पृष्ठ को छोटे से छोटे क्षैतिज और ऊर्ध्वाधर खंडों में विभाजित करें | home.split-by-sections.desc=पीडीएफ़ के प्रत्येक पृष्ठ को छोटे से छोटे क्षैतिज और ऊर्ध्वाधर खंडों में विभाजित करें | ||||||
| split-by-sections.tags=खंड विभाजन, विभाजित करें, अनुकूलित | split-by-sections.tags=खंड विभाजन, विभाजित करें, अनुकूलित | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML से पीडीएफ़ | |||||||
| HTMLToPDF.help=HTML फ़ाइलों और html/css/images आदि को आत्मसात करने वाले ZIPs को स्वीकार करता है | HTMLToPDF.help=HTML फ़ाइलों और html/css/images आदि को आत्मसात करने वाले ZIPs को स्वीकार करता है | ||||||
| HTMLToPDF.submit=रूपांतरित करें | HTMLToPDF.submit=रूपांतरित करें | ||||||
| HTMLToPDF.credit=WeasyPrint का प्रयोग होता है | HTMLToPDF.credit=WeasyPrint का प्रयोग होता है | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=पीडीएफ़ को सफाई करें | sanitizePDF.title=पीडीएफ़ को सफाई करें | ||||||
| sanitizePDF.header=एक पीडीएफ़ फ़ाइल को सफाई करें | sanitizePDF.header=एक पीडीएफ़ फ़ाइल को सफाई करें | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Kék | |||||||
| custom=Egyedi... | custom=Egyedi... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=A hitelek megváltoztak! | changedCredsMessage=A hitelek megváltoztak! | ||||||
| notAuthenticatedMessage=Felhasználó nincs hitelesítve. | notAuthenticatedMessage=Felhasználó nincs hitelesítve. | ||||||
| userNotFoundMessage=A felhasználó nem található. | userNotFoundMessage=A felhasználó nem található. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=PDF Szakaszokra osztása | |||||||
| home.split-by-sections.desc=Minden oldal felosztása kisebb vízszintes és függőleges szakaszokra | home.split-by-sections.desc=Minden oldal felosztása kisebb vízszintes és függőleges szakaszokra | ||||||
| split-by-sections.tags=Szakasz elosztás, felosztás, testreszabás | split-by-sections.tags=Szakasz elosztás, felosztás, testreszabás | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML >> PDF | |||||||
| HTMLToPDF.help=Elfogad HTML fájlokat és ZIP-fájlokat, amelyek tartalmaznak html/css/képeket stb. | HTMLToPDF.help=Elfogad HTML fájlokat és ZIP-fájlokat, amelyek tartalmaznak html/css/képeket stb. | ||||||
| HTMLToPDF.submit=Átalakítás | HTMLToPDF.submit=Átalakítás | ||||||
| HTMLToPDF.credit=WeasyPrint alkalmazása | HTMLToPDF.credit=WeasyPrint alkalmazása | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=PDF tisztítása | sanitizePDF.title=PDF tisztítása | ||||||
| sanitizePDF.header=PDF fájl megtisztítása | sanitizePDF.header=PDF fájl megtisztítása | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Biru | |||||||
| custom=Kustom... | custom=Kustom... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=Kredensial berubah!! | changedCredsMessage=Kredensial berubah!! | ||||||
| notAuthenticatedMessage=Pengguna tidak ter-autentikasi. | notAuthenticatedMessage=Pengguna tidak ter-autentikasi. | ||||||
| userNotFoundMessage=Pengguna tidak ditemukan. | userNotFoundMessage=Pengguna tidak ditemukan. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Membagi PDF berdasarkan Bagian | |||||||
| home.split-by-sections.desc=Membagi setiap halaman PDF menjadi beberapa bagian horizontal dan vertikal yang lebih kecil | home.split-by-sections.desc=Membagi setiap halaman PDF menjadi beberapa bagian horizontal dan vertikal yang lebih kecil | ||||||
| split-by-sections.tags=Membagi Bagian, Membagi, Menyesuaikan | split-by-sections.tags=Membagi Bagian, Membagi, Menyesuaikan | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML Ke PDF | |||||||
| HTMLToPDF.help=Menerima berkas HTML dan ZIP yang berisi html / css / gambar, dll yang diperlukan | HTMLToPDF.help=Menerima berkas HTML dan ZIP yang berisi html / css / gambar, dll yang diperlukan | ||||||
| HTMLToPDF.submit=Konversi | HTMLToPDF.submit=Konversi | ||||||
| HTMLToPDF.credit=Menggunakan WeasyPrint | HTMLToPDF.credit=Menggunakan WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=Bersihkan PDF | sanitizePDF.title=Bersihkan PDF | ||||||
| sanitizePDF.header=Membersihkan berkas PDF | sanitizePDF.header=Membersihkan berkas PDF | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Blu | |||||||
| custom=Personalizzato | custom=Personalizzato | ||||||
| WorkInProgess=Lavori in corso, potrebbe non funzionare o essere difettoso, segnalare eventuali problemi! | WorkInProgess=Lavori in corso, potrebbe non funzionare o essere difettoso, segnalare eventuali problemi! | ||||||
| poweredBy=Alimentato da | poweredBy=Alimentato da | ||||||
| 
 | yes=Si | ||||||
|  | no=No | ||||||
| changedCredsMessage=Credenziali cambiate! | changedCredsMessage=Credenziali cambiate! | ||||||
| notAuthenticatedMessage=Utente non autenticato. | notAuthenticatedMessage=Utente non autenticato. | ||||||
| userNotFoundMessage=Utente non trovato. | userNotFoundMessage=Utente non trovato. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Configurazione Pipeline | |||||||
| pipelineOptions.pipelineNameLabel=Nome della Pipeline | pipelineOptions.pipelineNameLabel=Nome della Pipeline | ||||||
| pipelineOptions.saveSettings=Salva Impostazioni | pipelineOptions.saveSettings=Salva Impostazioni | ||||||
| pipelineOptions.pipelineNamePrompt=Inserisci qui il nome della pipeline | pipelineOptions.pipelineNamePrompt=Inserisci qui il nome della pipeline | ||||||
|  | pipelineOptions.selectOperation=Seleziona operazione | ||||||
| pipelineOptions.addOperationButton=Aggiungi operazione | pipelineOptions.addOperationButton=Aggiungi operazione | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -234,7 +236,7 @@ ocr.tags=riconoscimento,testo,immagine,scansione,lettura,identificazione,rilevam | |||||||
| 
 | 
 | ||||||
| home.extractImages.title=Estrai immagini | home.extractImages.title=Estrai immagini | ||||||
| home.extractImages.desc=Estrai tutte le immagini da un PDF e salvale come zip. | home.extractImages.desc=Estrai tutte le immagini da un PDF e salvale come zip. | ||||||
| extractImages.tags=picture,photo,save,archive,zip,capture,grab | extractImages.tags=immagine,photo,save,archive,zip,capture,grab | ||||||
| 
 | 
 | ||||||
| home.pdfToPDFA.title=Converti in PDF/A | home.pdfToPDFA.title=Converti in PDF/A | ||||||
| home.pdfToPDFA.desc=Converti un PDF nel formato PDF/A per archiviazione a lungo termine. | home.pdfToPDFA.desc=Converti un PDF nel formato PDF/A per archiviazione a lungo termine. | ||||||
| @ -311,7 +313,7 @@ add-page-numbers.tags=impaginare,etichettare,organizzare,indicizzare | |||||||
| 
 | 
 | ||||||
| home.auto-rename.title=Rinomina automaticamente il file PDF | home.auto-rename.title=Rinomina automaticamente il file PDF | ||||||
| home.auto-rename.desc=Rinomina automaticamente un file PDF in base all'intestazione rilevata | home.auto-rename.desc=Rinomina automaticamente un file PDF in base all'intestazione rilevata | ||||||
| auto-rename.tags=arilevamento automatico,basato su intestazione,organizzazione,rietichettatura | auto-rename.tags=rilevamento automatico,basato su intestazione,organizzazione,rietichettatura | ||||||
| 
 | 
 | ||||||
| home.adjust-contrast.title=Regola colori/contrasto | home.adjust-contrast.title=Regola colori/contrasto | ||||||
| home.adjust-contrast.desc=Regola contrasto, saturazione e luminosità di un PDF | home.adjust-contrast.desc=Regola contrasto, saturazione e luminosità di un PDF | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Dividi PDF per sezioni | |||||||
| home.split-by-sections.desc=Dividi ciascuna pagina di un PDF in sezioni orizzontali e verticali più piccole | home.split-by-sections.desc=Dividi ciascuna pagina di un PDF in sezioni orizzontali e verticali più piccole | ||||||
| split-by-sections.tags=Dividi sezione, dividi, personalizza | split-by-sections.tags=Dividi sezione, dividi, personalizza | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Aggiungi timbro al PDF | ||||||
|  | home.AddStampRequest.desc=Aggiungi testo o aggiungi timbri immagine nelle posizioni prestabilite | ||||||
|  | AddStampRequest.tags=Timbro, Aggiungi immagine, Centra immagine, Filigrana, PDF, Incorpora, Personalizza | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML a PDF | |||||||
| HTMLToPDF.help=Accetta file HTML e ZIP contenenti html/css/immagini ecc. richiesti | HTMLToPDF.help=Accetta file HTML e ZIP contenenti html/css/immagini ecc. richiesti | ||||||
| HTMLToPDF.submit=Converti | HTMLToPDF.submit=Converti | ||||||
| HTMLToPDF.credit=Utilizza WeasyPrint | HTMLToPDF.credit=Utilizza WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Livello di zoom per la visualizzazione del sito web. | ||||||
|  | HTMLToPDF.pageWidth=Larghezza della pagina in centimetri. (Vuoto per impostazione predefinita) | ||||||
|  | HTMLToPDF.pageHeight=Altezza della pagina in centimetri. (Vuoto per impostazione predefinita) | ||||||
|  | HTMLToPDF.marginTop=Margine superiore della pagina in millimetri. (Vuoto per impostazione predefinita) | ||||||
|  | HTMLToPDF.marginBottom=Margine inferiore della pagina in millimetri. (Vuoto per impostazione predefinita) | ||||||
|  | HTMLToPDF.marginLeft=Margine sinistro della pagina in millimetri. (Vuoto per impostazione predefinita) | ||||||
|  | HTMLToPDF.marginRight=Margine destro della pagina in millimetri. (Vuoto per impostazione predefinita) | ||||||
|  | HTMLToPDF.printBackground=Rendering dello sfondo dei siti Web. | ||||||
|  | HTMLToPDF.defaultHeader=Abilita intestazione predefinita (nome e numero di pagina) | ||||||
|  | HTMLToPDF.cssMediaType=Cambia il tipo di supporto CSS della pagina. | ||||||
|  | HTMLToPDF.none=Nessuno | ||||||
|  | HTMLToPDF.print=Stampa | ||||||
|  | HTMLToPDF.screen=Schermo | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Timbro PDF | ||||||
|  | AddStampRequest.title=Timbro PDF | ||||||
|  | AddStampRequest.stampType=Tipo di timbro | ||||||
|  | AddStampRequest.stampText=Testo del timbro | ||||||
|  | AddStampRequest.stampImage=Immagine del timbro | ||||||
|  | AddStampRequest.alphabet=Alfabeto | ||||||
|  | AddStampRequest.fontSize=Dimensione carattere/immagine | ||||||
|  | AddStampRequest.rotation=Rotazione | ||||||
|  | AddStampRequest.opacity=Opacità | ||||||
|  | AddStampRequest.position=Posizione | ||||||
|  | AddStampRequest.overrideX=Sostituisci la coordinata X | ||||||
|  | AddStampRequest.overrideY=Sostituisci la coordinata Y | ||||||
|  | AddStampRequest.customMargin=Margine personalizzato | ||||||
|  | AddStampRequest.customColor=Colore testo personalizzato | ||||||
|  | AddStampRequest.submit=Invia | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=Pulire PDF | sanitizePDF.title=Pulire PDF | ||||||
| sanitizePDF.header=Pulisci un file PDF | sanitizePDF.header=Pulisci un file PDF | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=青 | |||||||
| custom=カスタム... | custom=カスタム... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=資格情報が変更されました! | changedCredsMessage=資格情報が変更されました! | ||||||
| notAuthenticatedMessage=ユーザーが認証されていません。 | notAuthenticatedMessage=ユーザーが認証されていません。 | ||||||
| userNotFoundMessage=ユーザーが見つかりません。 | userNotFoundMessage=ユーザーが見つかりません。 | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Split PDF by Sections | |||||||
| home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | ||||||
| split-by-sections.tags=Section Split, Divide, Customize | split-by-sections.tags=Section Split, Divide, Customize | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTMLをPDFに変換 | |||||||
| HTMLToPDF.help=HTMLファイルと必要なhtml/css/画像などを含むZIPを受け入れます | HTMLToPDF.help=HTMLファイルと必要なhtml/css/画像などを含むZIPを受け入れます | ||||||
| HTMLToPDF.submit=変換 | HTMLToPDF.submit=変換 | ||||||
| HTMLToPDF.credit=WeasyPrintを使用 | HTMLToPDF.credit=WeasyPrintを使用 | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=PDFをサニタイズ | sanitizePDF.title=PDFをサニタイズ | ||||||
| sanitizePDF.header=PDFファイルをサニタイズ | sanitizePDF.header=PDFファイルをサニタイズ | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Blue | |||||||
| custom=Custom... | custom=Custom... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=계정 정보 변경 성공! | changedCredsMessage=계정 정보 변경 성공! | ||||||
| notAuthenticatedMessage=User not authenticated. | notAuthenticatedMessage=User not authenticated. | ||||||
| userNotFoundMessage=사용자를 찾을 수 없습니다. | userNotFoundMessage=사용자를 찾을 수 없습니다. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Split PDF by Sections | |||||||
| home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | ||||||
| split-by-sections.tags=Section Split, Divide, Customize | split-by-sections.tags=Section Split, Divide, Customize | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML 파일을 PDF 문서로 변환 | |||||||
| HTMLToPDF.help=HTML 파일, 또는 html/css/이미지 등을 포함한 ZIP 파일을 받습니다. | HTMLToPDF.help=HTML 파일, 또는 html/css/이미지 등을 포함한 ZIP 파일을 받습니다. | ||||||
| HTMLToPDF.submit=변환 | HTMLToPDF.submit=변환 | ||||||
| HTMLToPDF.credit=이 기능은 WeasyPrint를 사용합니다. | HTMLToPDF.credit=이 기능은 WeasyPrint를 사용합니다. | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=PDF 정제 | sanitizePDF.title=PDF 정제 | ||||||
| sanitizePDF.header=PDF 문서 정제 | sanitizePDF.header=PDF 문서 정제 | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Blauw | |||||||
| custom=Aangepast... | custom=Aangepast... | ||||||
| WorkInProgess=Werk in uitvoering. Werkt mogelijk niet of bevat fouten. Meld eventuele problemen! | WorkInProgess=Werk in uitvoering. Werkt mogelijk niet of bevat fouten. Meld eventuele problemen! | ||||||
| poweredBy=Mogelijk gemaakt door | poweredBy=Mogelijk gemaakt door | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=Inloggegevens gewijzigd! | changedCredsMessage=Inloggegevens gewijzigd! | ||||||
| notAuthenticatedMessage=Gebruiker niet ingelogd. | notAuthenticatedMessage=Gebruiker niet ingelogd. | ||||||
| userNotFoundMessage=Gebruiker niet gevonden. | userNotFoundMessage=Gebruiker niet gevonden. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pijplijn onfiguratie | |||||||
| pipelineOptions.pipelineNameLabel=Pijplijn naam | pipelineOptions.pipelineNameLabel=Pijplijn naam | ||||||
| pipelineOptions.saveSettings=Instellingen voor bewerking opslaan | pipelineOptions.saveSettings=Instellingen voor bewerking opslaan | ||||||
| pipelineOptions.pipelineNamePrompt=Voer hier de naam van de pijplijn in | pipelineOptions.pipelineNamePrompt=Voer hier de naam van de pijplijn in | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Bewerking toevoegen | pipelineOptions.addOperationButton=Bewerking toevoegen | ||||||
| pipelineOptions.pipelineHeader=Pijplijn: | pipelineOptions.pipelineHeader=Pijplijn: | ||||||
| pipelineOptions.saveButton=Downloaden | pipelineOptions.saveButton=Downloaden | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=PDF in secties splitsen | |||||||
| home.split-by-sections.desc=Verdeel elke pagina van een PDF in kleinere horizontale en verticale secties | home.split-by-sections.desc=Verdeel elke pagina van een PDF in kleinere horizontale en verticale secties | ||||||
| split-by-sections.tags=Sectoe splitsen, Verdelen, Aanpassen | split-by-sections.tags=Sectoe splitsen, Verdelen, Aanpassen | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML naar PDF | |||||||
| HTMLToPDF.help=Accepteert HTML-bestanden en ZIP's die html/css/afbeeldingen etc. bevatten | HTMLToPDF.help=Accepteert HTML-bestanden en ZIP's die html/css/afbeeldingen etc. bevatten | ||||||
| HTMLToPDF.submit=Converteren | HTMLToPDF.submit=Converteren | ||||||
| HTMLToPDF.credit=Gebruikt WeasyPrint | HTMLToPDF.credit=Gebruikt WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=PDF opschonen | sanitizePDF.title=PDF opschonen | ||||||
| sanitizePDF.header=Een PDF-bestand opschonen | sanitizePDF.header=Een PDF-bestand opschonen | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Blue | |||||||
| custom=Custom... | custom=Custom... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=Credentials changed! | changedCredsMessage=Credentials changed! | ||||||
| notAuthenticatedMessage=User not authenticated. | notAuthenticatedMessage=User not authenticated. | ||||||
| userNotFoundMessage=User not found. | userNotFoundMessage=User not found. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Split PDF by Sections | |||||||
| home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | ||||||
| split-by-sections.tags=Section Split, Divide, Customize | split-by-sections.tags=Section Split, Divide, Customize | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML To PDF | |||||||
| HTMLToPDF.help=Accepts HTML files and ZIPs containing html/css/images etc required | HTMLToPDF.help=Accepts HTML files and ZIPs containing html/css/images etc required | ||||||
| HTMLToPDF.submit=Convert | HTMLToPDF.submit=Convert | ||||||
| HTMLToPDF.credit=Uses WeasyPrint | HTMLToPDF.credit=Uses WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=Sanitize PDF | sanitizePDF.title=Sanitize PDF | ||||||
| sanitizePDF.header=Sanitize a PDF file | sanitizePDF.header=Sanitize a PDF file | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Blue | |||||||
| custom=Custom... | custom=Custom... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=Credentials changed! | changedCredsMessage=Credentials changed! | ||||||
| notAuthenticatedMessage=User not authenticated. | notAuthenticatedMessage=User not authenticated. | ||||||
| userNotFoundMessage=User not found. | userNotFoundMessage=User not found. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Split PDF by Sections | |||||||
| home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | ||||||
| split-by-sections.tags=Section Split, Divide, Customize | split-by-sections.tags=Section Split, Divide, Customize | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML para PDF | |||||||
| HTMLToPDF.help=Aceita arquivos HTML e ZIPs contendo html/css/imagens etc necessários | HTMLToPDF.help=Aceita arquivos HTML e ZIPs contendo html/css/imagens etc necessários | ||||||
| HTMLToPDF.submit=Converter | HTMLToPDF.submit=Converter | ||||||
| HTMLToPDF.credit=Usa o WeasyPrint | HTMLToPDF.credit=Usa o WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=Sanitizar PDF | sanitizePDF.title=Sanitizar PDF | ||||||
| sanitizePDF.header=Sanitizar um arquivo PDF | sanitizePDF.header=Sanitizar um arquivo PDF | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Blue | |||||||
| custom=Custom... | custom=Custom... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=Credentials changed! | changedCredsMessage=Credentials changed! | ||||||
| notAuthenticatedMessage=User not authenticated. | notAuthenticatedMessage=User not authenticated. | ||||||
| userNotFoundMessage=User not found. | userNotFoundMessage=User not found. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Split PDF by Sections | |||||||
| home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | ||||||
| split-by-sections.tags=Section Split, Divide, Customize | split-by-sections.tags=Section Split, Divide, Customize | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML To PDF | |||||||
| HTMLToPDF.help=Accepts HTML files and ZIPs containing html/css/images etc required | HTMLToPDF.help=Accepts HTML files and ZIPs containing html/css/images etc required | ||||||
| HTMLToPDF.submit=Convert | HTMLToPDF.submit=Convert | ||||||
| HTMLToPDF.credit=Uses WeasyPrint | HTMLToPDF.credit=Uses WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=Sanitize PDF | sanitizePDF.title=Sanitize PDF | ||||||
| sanitizePDF.header=Sanitize a PDF file | sanitizePDF.header=Sanitize a PDF file | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Blue | |||||||
| custom=Custom... | custom=Custom... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=Credentials changed! | changedCredsMessage=Credentials changed! | ||||||
| notAuthenticatedMessage=User not authenticated. | notAuthenticatedMessage=User not authenticated. | ||||||
| userNotFoundMessage=User not found. | userNotFoundMessage=User not found. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Split PDF by Sections | |||||||
| home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | ||||||
| split-by-sections.tags=Section Split, Divide, Customize | split-by-sections.tags=Section Split, Divide, Customize | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML в PDF | |||||||
| HTMLToPDF.help=Принимает файлы HTML и ZIP-файлы, содержащие html/css/изображения и т. д. | HTMLToPDF.help=Принимает файлы HTML и ZIP-файлы, содержащие html/css/изображения и т. д. | ||||||
| HTMLToPDF.submit=Конвертировать | HTMLToPDF.submit=Конвертировать | ||||||
| HTMLToPDF.credit=Использует WeasyPrint | HTMLToPDF.credit=Использует WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=Дезинфицировать PDF | sanitizePDF.title=Дезинфицировать PDF | ||||||
| sanitizePDF.header=Дезинфицировать PDF файл | sanitizePDF.header=Дезинфицировать PDF файл | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Plavo | |||||||
| custom=Prilagođeno... | custom=Prilagođeno... | ||||||
| WorkInProgess=Radovi u toku, možda neće raditi ili će biti grešaka, molimo prijavite sve probleme ! | WorkInProgess=Radovi u toku, možda neće raditi ili će biti grešaka, molimo prijavite sve probleme ! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=Podaci za prijavu uspešno promenjeni! | changedCredsMessage=Podaci za prijavu uspešno promenjeni! | ||||||
| notAuthenticatedMessage=Korisnik nije autentifikovan. | notAuthenticatedMessage=Korisnik nije autentifikovan. | ||||||
| userNotFoundMessage=Korisnik nije pronađen. | userNotFoundMessage=Korisnik nije pronađen. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Konfiguracija Pipeline-a | |||||||
| pipelineOptions.pipelineNameLabel=Ime Pipeline-a | pipelineOptions.pipelineNameLabel=Ime Pipeline-a | ||||||
| pipelineOptions.saveSettings=Sačuvaj podešavanja | pipelineOptions.saveSettings=Sačuvaj podešavanja | ||||||
| pipelineOptions.pipelineNamePrompt=Unesite ime pipeline-a ovde | pipelineOptions.pipelineNamePrompt=Unesite ime pipeline-a ovde | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Dodaj operaciju | pipelineOptions.addOperationButton=Dodaj operaciju | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Preuzmi | pipelineOptions.saveButton=Preuzmi | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Deljenje PDF-a po Odeljcima | |||||||
| home.split-by-sections.desc=Deljenje svake stranice PDF-a na manje horizontalne i vertikalne odeljke | home.split-by-sections.desc=Deljenje svake stranice PDF-a na manje horizontalne i vertikalne odeljke | ||||||
| split-by-sections.tags=Deljenje odeljaka,Deljenje,Podešavanje | split-by-sections.tags=Deljenje odeljaka,Deljenje,Podešavanje | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML u PDF | |||||||
| HTMLToPDF.help=Prihvata HTML fajlove i ZIP-ove koji sadrže html/css/slike itd. potrebno | HTMLToPDF.help=Prihvata HTML fajlove i ZIP-ove koji sadrže html/css/slike itd. potrebno | ||||||
| HTMLToPDF.submit=Konvertuj | HTMLToPDF.submit=Konvertuj | ||||||
| HTMLToPDF.credit=Koristi WeasyPrint | HTMLToPDF.credit=Koristi WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=Sanitizacija PDF-a | sanitizePDF.title=Sanitizacija PDF-a | ||||||
| sanitizePDF.header=Sanitizacija PDF fajla | sanitizePDF.header=Sanitizacija PDF fajla | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Blue | |||||||
| custom=Custom... | custom=Custom... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=Credentials changed! | changedCredsMessage=Credentials changed! | ||||||
| notAuthenticatedMessage=User not authenticated. | notAuthenticatedMessage=User not authenticated. | ||||||
| userNotFoundMessage=User not found. | userNotFoundMessage=User not found. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Split PDF by Sections | |||||||
| home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | ||||||
| split-by-sections.tags=Section Split, Divide, Customize | split-by-sections.tags=Section Split, Divide, Customize | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML To PDF | |||||||
| HTMLToPDF.help=Accepts HTML files and ZIPs containing html/css/images etc required | HTMLToPDF.help=Accepts HTML files and ZIPs containing html/css/images etc required | ||||||
| HTMLToPDF.submit=Convert | HTMLToPDF.submit=Convert | ||||||
| HTMLToPDF.credit=Uses WeasyPrint | HTMLToPDF.credit=Uses WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=Sanitize PDF | sanitizePDF.title=Sanitize PDF | ||||||
| sanitizePDF.header=Sanitize a PDF file | sanitizePDF.header=Sanitize a PDF file | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Mavi | |||||||
| custom=Özel | custom=Özel | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=Bilgiler değiştirildi! | changedCredsMessage=Bilgiler değiştirildi! | ||||||
| notAuthenticatedMessage=Kullanıcı doğrulanmadı. | notAuthenticatedMessage=Kullanıcı doğrulanmadı. | ||||||
| userNotFoundMessage=Kullanıcı bulunamadı. | userNotFoundMessage=Kullanıcı bulunamadı. | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=Split PDF by Sections | |||||||
| home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections | ||||||
| split-by-sections.tags=Section Split, Divide, Customize | split-by-sections.tags=Section Split, Divide, Customize | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML'den PDF'e | |||||||
| HTMLToPDF.help=HTML dosyalarını ve html/css/görsel vb. içeren ZIP'leri kabul eder | HTMLToPDF.help=HTML dosyalarını ve html/css/görsel vb. içeren ZIP'leri kabul eder | ||||||
| HTMLToPDF.submit=Dönüştür | HTMLToPDF.submit=Dönüştür | ||||||
| HTMLToPDF.credit=WeasyPrint Kullanıyor | HTMLToPDF.credit=WeasyPrint Kullanıyor | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=PDF'i Temizle | sanitizePDF.title=PDF'i Temizle | ||||||
| sanitizePDF.header=PDF dosyasını temizle | sanitizePDF.header=PDF dosyasını temizle | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=Blue | |||||||
| custom=Custom... | custom=Custom... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=凭证已更改! | changedCredsMessage=凭证已更改! | ||||||
| notAuthenticatedMessage=用户未经过身份验证。 | notAuthenticatedMessage=用户未经过身份验证。 | ||||||
| userNotFoundMessage=未找到用户。 | userNotFoundMessage=未找到用户。 | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=拆分PDF成小块 | |||||||
| home.split-by-sections.desc=将PDF的每一页分割成更小的水平和垂直的部分 | home.split-by-sections.desc=将PDF的每一页分割成更小的水平和垂直的部分 | ||||||
| split-by-sections.tags=章节拆分、分割、自定义 | split-by-sections.tags=章节拆分、分割、自定义 | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML转PDF | |||||||
| HTMLToPDF.help=接受HTML文件和包含所需的html/css/images等的ZIP文件 | HTMLToPDF.help=接受HTML文件和包含所需的html/css/images等的ZIP文件 | ||||||
| HTMLToPDF.submit=转换 | HTMLToPDF.submit=转换 | ||||||
| HTMLToPDF.credit=使用WeasyPrint | HTMLToPDF.credit=使用WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=清理PDF | sanitizePDF.title=清理PDF | ||||||
| sanitizePDF.header=清理PDF文件 | sanitizePDF.header=清理PDF文件 | ||||||
|  | |||||||
| @ -44,7 +44,8 @@ blue=藍色 | |||||||
| custom=自訂... | custom=自訂... | ||||||
| WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! | ||||||
| poweredBy=Powered by | poweredBy=Powered by | ||||||
| 
 | yes=Yes | ||||||
|  | no=No | ||||||
| changedCredsMessage=憑證已變更! | changedCredsMessage=憑證已變更! | ||||||
| notAuthenticatedMessage=使用者未認證。 | notAuthenticatedMessage=使用者未認證。 | ||||||
| userNotFoundMessage=找不到使用者。 | userNotFoundMessage=找不到使用者。 | ||||||
| @ -68,6 +69,7 @@ pipelineOptions.header=Pipeline Configuration | |||||||
| pipelineOptions.pipelineNameLabel=Pipeline Name | pipelineOptions.pipelineNameLabel=Pipeline Name | ||||||
| pipelineOptions.saveSettings=Save Operation Settings | pipelineOptions.saveSettings=Save Operation Settings | ||||||
| pipelineOptions.pipelineNamePrompt=Enter pipeline name here | pipelineOptions.pipelineNamePrompt=Enter pipeline name here | ||||||
|  | pipelineOptions.selectOperation=Select Operation | ||||||
| pipelineOptions.addOperationButton=Add operation | pipelineOptions.addOperationButton=Add operation | ||||||
| pipelineOptions.pipelineHeader=Pipeline: | pipelineOptions.pipelineHeader=Pipeline: | ||||||
| pipelineOptions.saveButton=Download | pipelineOptions.saveButton=Download | ||||||
| @ -384,6 +386,11 @@ home.split-by-sections.title=依區段分割 PDF | |||||||
| home.split-by-sections.desc=將 PDF 的每一頁分割為較小的水平和垂直區段 | home.split-by-sections.desc=將 PDF 的每一頁分割為較小的水平和垂直區段 | ||||||
| split-by-sections.tags=區段分割, 劃分, 自訂 | split-by-sections.tags=區段分割, 劃分, 自訂 | ||||||
| 
 | 
 | ||||||
|  | home.AddStampRequest.title=Add Stamp to PDF | ||||||
|  | home.AddStampRequest.desc=Add text or add image stamps at set locations | ||||||
|  | AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ########################### | ########################### | ||||||
| #                         # | #                         # | ||||||
| #       WEB PAGES         # | #       WEB PAGES         # | ||||||
| @ -459,8 +466,38 @@ HTMLToPDF.header=HTML 轉 PDF | |||||||
| HTMLToPDF.help=接受 HTML 文件和包含所需 html/css/images 等的 ZIP | HTMLToPDF.help=接受 HTML 文件和包含所需 html/css/images 等的 ZIP | ||||||
| HTMLToPDF.submit=轉換 | HTMLToPDF.submit=轉換 | ||||||
| HTMLToPDF.credit=使用 WeasyPrint | HTMLToPDF.credit=使用 WeasyPrint | ||||||
|  | HTMLToPDF.zoom=Zoom level for displaying the website. | ||||||
|  | HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) | ||||||
|  | HTMLToPDF.printBackground=Render the background of websites. | ||||||
|  | HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) | ||||||
|  | HTMLToPDF.cssMediaType=Change the CSS media type of the page. | ||||||
|  | HTMLToPDF.none=None | ||||||
|  | HTMLToPDF.print=Print | ||||||
|  | HTMLToPDF.screen=Screen | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #AddStampRequest | ||||||
|  | AddStampRequest.header=Stamp PDF | ||||||
|  | AddStampRequest.title=Stamp PDF | ||||||
|  | AddStampRequest.stampType=Stamp Type | ||||||
|  | AddStampRequest.stampText=Stamp Text | ||||||
|  | AddStampRequest.stampImage=Stamp Image | ||||||
|  | AddStampRequest.alphabet=Alphabet | ||||||
|  | AddStampRequest.fontSize=Font/Image Size | ||||||
|  | AddStampRequest.rotation=Rotation | ||||||
|  | AddStampRequest.opacity=Opacity | ||||||
|  | AddStampRequest.position=Position | ||||||
|  | AddStampRequest.overrideX=Override X Coordinate | ||||||
|  | AddStampRequest.overrideY=Override Y Coordinate | ||||||
|  | AddStampRequest.customMargin=Custom Margin | ||||||
|  | AddStampRequest.customColor=Custom Text Color | ||||||
|  | AddStampRequest.submit=Submit | ||||||
|  | 				                     | ||||||
| #sanitizePDF | #sanitizePDF | ||||||
| sanitizePDF.title=清理 PDF | sanitizePDF.title=清理 PDF | ||||||
| sanitizePDF.header=清理 PDF 檔案 | sanitizePDF.header=清理 PDF 檔案 | ||||||
|  | |||||||
							
								
								
									
										4
									
								
								src/main/resources/static/images/stamp.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								src/main/resources/static/images/stamp.svg
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | |||||||
|  | <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-postage-heart" viewBox="0 0 16 16"> | ||||||
|  |   <path d="M3.5 1a1 1 0 0 0 1-1h1a1 1 0 0 0 2 0h1a1 1 0 0 0 2 0h1a1 1 0 1 0 2 0H15v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1h-1.5a1 1 0 1 0-2 0h-1a1 1 0 1 0-2 0h-1a1 1 0 1 0-2 0h-1a1 1 0 1 0-2 0H1v-1a1 1 0 1 0 0-2v-1a1 1 0 1 0 0-2V9a1 1 0 1 0 0-2V6a1 1 0 0 0 0-2V3a1 1 0 0 0 0-2V0h1.5a1 1 0 0 0 1 1M3 3v10a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1"/> | ||||||
|  |   <path d="M8 11C2.175 7.236 6.336 4.31 8 5.982 9.664 4.309 13.825 7.236 8 11"/> | ||||||
|  | </svg> | ||||||
| After Width: | Height: | Size: 630 B | 
| @ -1,7 +1,20 @@ | |||||||
| document.addEventListener('DOMContentLoaded', function() { | document.addEventListener('DOMContentLoaded', function() { | ||||||
| 	setLanguageForDropdown('.lang_dropdown-item'); | 	setLanguageForDropdown('.lang_dropdown-item'); | ||||||
| 	const defaultLocale = document.documentElement.lang || 'en_GB'; | 
 | ||||||
|  | 	// Detect the browser's preferred language
 | ||||||
|  |     let browserLang = navigator.language || navigator.userLanguage; | ||||||
|  |     // Convert to a format consistent with your language codes (e.g., en-GB, fr-FR)
 | ||||||
|  |     browserLang = browserLang.replace('-', '_'); | ||||||
|  | 
 | ||||||
|  |     // Check if the dropdown contains the browser's language
 | ||||||
|  |     const dropdownLangExists = document.querySelector(`.lang_dropdown-item[data-language-code="${browserLang}"]`); | ||||||
|  |      | ||||||
|  |     // Set the default language to browser's language or 'en_GB' if not found in the dropdown
 | ||||||
|  |     const defaultLocale = dropdownLangExists ? browserLang : 'en_GB'; | ||||||
|     const storedLocale = localStorage.getItem('languageCode') || defaultLocale; |     const storedLocale = localStorage.getItem('languageCode') || defaultLocale; | ||||||
|  |      | ||||||
|  |      | ||||||
|  |      | ||||||
| 	const dropdownItems = document.querySelectorAll('.lang_dropdown-item'); | 	const dropdownItems = document.querySelectorAll('.lang_dropdown-item'); | ||||||
| 
 | 
 | ||||||
| 	for (let i = 0; i < dropdownItems.length; i++) { | 	for (let i = 0; i < dropdownItems.length; i++) { | ||||||
|  | |||||||
| @ -8,11 +8,18 @@ document.getElementById("fileInput-input").addEventListener("change", function() | |||||||
|     displayFiles(files); |     displayFiles(files); | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
|  | /** | ||||||
|  |  * @param {FileList} files  | ||||||
|  |  */ | ||||||
| function displayFiles(files) { | function displayFiles(files) { | ||||||
|     var list = document.getElementById("selectedFiles"); |     const list = document.getElementById("selectedFiles"); | ||||||
| 
 | 
 | ||||||
|     for (var i = 0; i < files.length; i++) { |     while (list.firstChild) { | ||||||
|         var item = document.createElement("li"); |         list.removeChild(list.firstChild); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     for (let i = 0; i < files.length; i++) { | ||||||
|  |         const item = document.createElement("li"); | ||||||
|         item.className = "list-group-item"; |         item.className = "list-group-item"; | ||||||
|         item.innerHTML = ` |         item.innerHTML = ` | ||||||
|             <div class="d-flex justify-content-between align-items-center w-100"> |             <div class="d-flex justify-content-between align-items-center w-100"> | ||||||
|  | |||||||
| @ -24,7 +24,7 @@ | |||||||
| 						</ul> | 						</ul> | ||||||
| 						<form method="post" enctype="multipart/form-data" th:action="@{api/v1/misc/auto-split-pdf}"> | 						<form method="post" enctype="multipart/form-data" th:action="@{api/v1/misc/auto-split-pdf}"> | ||||||
| 						    <p th:text="#{autoSplitPDF.formPrompt}"></p> | 						    <p th:text="#{autoSplitPDF.formPrompt}"></p> | ||||||
| 						    <div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false)}"></div> | 						    <div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, accept='application/pdf')}"></div> | ||||||
| 						    <div class="form-check"> | 						    <div class="form-check"> | ||||||
|                                 <input type="checkbox" class="form-check-input" name="duplexMode" id="duplexMode">  |                                 <input type="checkbox" class="form-check-input" name="duplexMode" id="duplexMode">  | ||||||
|                                 <label class="ms-3" for="duplexMode" th:text=#{autoSplitPDF.duplexMode}></label> |                                 <label class="ms-3" for="duplexMode" th:text=#{autoSplitPDF.duplexMode}></label> | ||||||
|  | |||||||
| @ -10,10 +10,73 @@ | |||||||
|             <br> <br> |             <br> <br> | ||||||
|             <div class="container"> |             <div class="container"> | ||||||
|                 <div class="row justify-content-center"> |                 <div class="row justify-content-center"> | ||||||
|                     <div class="col-md-6"> |                     <div class="mb-3"> | ||||||
|                         <h2 th:text="#{HTMLToPDF.header}"></h2> |                         <h2 th:text="#{HTMLToPDF.header}"></h2> | ||||||
|                         <form method="post" enctype="multipart/form-data" th:action="@{api/v1/convert/html/pdf}"> |                         <form method="post" enctype="multipart/form-data" th:action="@{api/v1/convert/html/pdf}"> | ||||||
|                             <div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false)}"></div> |                             <div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, accept='text/html,application/zip' )}"></div> | ||||||
|  |                              | ||||||
|  | 				            <div class="mb-3"> | ||||||
|  | 				                <label for="zoom" th:text="#{HTMLToPDF.zoom}" class="form-label"></label> | ||||||
|  | 				                <input type="number" step="0.1" class="form-control" id="zoom" name="zoom" value="1" /> | ||||||
|  | 				            </div> | ||||||
|  | 				 | ||||||
|  | 				            <div class="mb-3"> | ||||||
|  | 				                <label for="pageWidth" th:text="#{HTMLToPDF.pageWidth}" class="form-label"></label> | ||||||
|  | 				                <input type="number" class="form-control" id="pageWidth" name="pageWidth" /> | ||||||
|  | 				            </div> | ||||||
|  | 				 | ||||||
|  | 				            <div class="mb-3"> | ||||||
|  | 				                <label for="pageHeight" th:text="#{HTMLToPDF.pageHeight}" class="form-label"></label> | ||||||
|  | 				                <input type="number" class="form-control" id="pageHeight" name="pageHeight" /> | ||||||
|  | 				            </div> | ||||||
|  | 				 | ||||||
|  | 				            <div class="mb-3"> | ||||||
|  | 				                <label for="marginTop" th:text="#{HTMLToPDF.marginTop}" class="form-label"></label> | ||||||
|  | 				                <input type="number" class="form-control" id="marginTop" name="marginTop" /> | ||||||
|  | 				            </div> | ||||||
|  | 				 | ||||||
|  | 				            <div class="mb-3"> | ||||||
|  | 				                <label for="marginBottom" th:text="#{HTMLToPDF.marginBottom}" class="form-label"></label> | ||||||
|  | 				                <input type="number" class="form-control" id="marginBottom" name="marginBottom" /> | ||||||
|  | 				            </div> | ||||||
|  | 				 | ||||||
|  | 				            <div class="mb-3"> | ||||||
|  | 				                <label for="marginLeft" th:text="#{HTMLToPDF.marginLeft}" class="form-label"></label> | ||||||
|  | 				                <input type="number" class="form-control" id="marginLeft" name="marginLeft" /> | ||||||
|  | 				            </div> | ||||||
|  | 				 | ||||||
|  | 				            <div class="mb-3"> | ||||||
|  | 				                <label for="marginRight" th:text="#{HTMLToPDF.marginRight}" class="form-label"></label> | ||||||
|  | 				                <input type="number" class="form-control" id="marginRight" name="marginRight" /> | ||||||
|  | 				            </div> | ||||||
|  | 				 | ||||||
|  | 				            <div class="mb-3"> | ||||||
|  | 				                <label th:text="#{HTMLToPDF.printBackground}" class="form-label"></label> | ||||||
|  | 				                <select class="form-select" name="printBackground"> | ||||||
|  | 				                    <option value="Yes" th:text="#{yes}">Yes</option> | ||||||
|  | 				                    <option value="No" th:text="#{no}">No</option> | ||||||
|  | 				                </select> | ||||||
|  | 				            </div> | ||||||
|  | 				 | ||||||
|  | 				            <div class="mb-3"> | ||||||
|  | 							    <label th:text="#{HTMLToPDF.defaultHeader}" class="form-label"></label> | ||||||
|  | 							    <select class="form-select" name="defaultHeader"> | ||||||
|  | 							    	<option value="No" th:text="#{no}">No</option> | ||||||
|  | 							        <option value="Yes" th:text="#{yes}">Yes</option> | ||||||
|  | 							    </select> | ||||||
|  | 							</div> | ||||||
|  | 				             | ||||||
|  | 				 | ||||||
|  | 				            <div class="mb-3"> | ||||||
|  | 				                <label th:text="#{HTMLToPDF.cssMediaType}" class="form-label"></label> | ||||||
|  | 				                <select class="form-select" name="cssMediaType"> | ||||||
|  | 				                	<option value="screen" th:text="#{HTMLToPDF.screen}">Screen</option> | ||||||
|  | 				                    <option value="none" th:text="#{HTMLToPDF.none}">None</option> | ||||||
|  | 				                    <option value="print" th:text="#{HTMLToPDF.print}">Print</option> | ||||||
|  | 				                </select> | ||||||
|  | 				            </div> | ||||||
|  |                              | ||||||
|  |                              | ||||||
|                             <br> |                             <br> | ||||||
|                             <button type="submit" id="submitBtn" class="btn btn-primary" th:text="#{HTMLToPDF.submit}"></button> |                             <button type="submit" id="submitBtn" class="btn btn-primary" th:text="#{HTMLToPDF.submit}"></button> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -13,7 +13,7 @@ | |||||||
|                     <div class="col-md-6"> |                     <div class="col-md-6"> | ||||||
|                         <h2 th:text="#{MarkdownToPDF.header}"></h2> |                         <h2 th:text="#{MarkdownToPDF.header}"></h2> | ||||||
|                         <form method="post" enctype="multipart/form-data" th:action="@{api/v1/convert/markdown/pdf}"> |                         <form method="post" enctype="multipart/form-data" th:action="@{api/v1/convert/markdown/pdf}"> | ||||||
|                             <div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false)}"></div> |                             <div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, accept='text/markdown')}"></div> | ||||||
|                             <br> |                             <br> | ||||||
|                             <button type="submit" id="submitBtn" class="btn btn-primary" th:text="#{MarkdownToPDF.submit}"></button> |                             <button type="submit" id="submitBtn" class="btn btn-primary" th:text="#{MarkdownToPDF.submit}"></button> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -133,6 +133,7 @@ | |||||||
|                             <div th:replace="~{fragments/navbarEntry :: navbarEntry ('auto-rename', 'images/fonts.svg', 'home.auto-rename.title', 'home.auto-rename.desc', 'auto-rename.tags')}"></div> |                             <div th:replace="~{fragments/navbarEntry :: navbarEntry ('auto-rename', 'images/fonts.svg', 'home.auto-rename.title', 'home.auto-rename.desc', 'auto-rename.tags')}"></div> | ||||||
|                             <div th:replace="~{fragments/navbarEntry :: navbarEntry ('get-info-on-pdf', 'images/info.svg', 'home.getPdfInfo.title', 'home.getPdfInfo.desc', 'getPdfInfo.tags')}"></div> |                             <div th:replace="~{fragments/navbarEntry :: navbarEntry ('get-info-on-pdf', 'images/info.svg', 'home.getPdfInfo.title', 'home.getPdfInfo.desc', 'getPdfInfo.tags')}"></div> | ||||||
|                             <div th:replace="~{fragments/navbarEntry :: navbarEntry ('show-javascript', 'images/js.svg', 'home.showJS.title', 'home.showJS.desc', 'showJS.tags')}"></div> |                             <div th:replace="~{fragments/navbarEntry :: navbarEntry ('show-javascript', 'images/js.svg', 'home.showJS.title', 'home.showJS.desc', 'showJS.tags')}"></div> | ||||||
|  |                             <div th:replace="~{fragments/navbarEntry :: navbarEntry ('stamp', 'images/stamp.svg', 'home.AddStampRequest.title', 'home.AddStampRequest.desc', 'AddStampRequest.tags')}"></div> | ||||||
|                         </div> |                         </div> | ||||||
|                     </li> |                     </li> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -101,6 +101,8 @@ | |||||||
|                 <div th:replace="~{fragments/card :: card(id='split-pdf-by-sections', cardTitle=#{home.split-by-sections.title}, cardText=#{home.split-by-sections.desc}, cardLink='split-pdf-by-sections', svgPath='images/layout-split.svg')}"></div> |                 <div th:replace="~{fragments/card :: card(id='split-pdf-by-sections', cardTitle=#{home.split-by-sections.title}, cardText=#{home.split-by-sections.desc}, cardLink='split-pdf-by-sections', svgPath='images/layout-split.svg')}"></div> | ||||||
|                 <div th:replace="~{fragments/card :: card(id='book-to-pdf', cardTitle=#{home.BookToPDF.title}, cardText=#{home.BookToPDF.desc}, cardLink='book-to-pdf', svgPath='images/book.svg')}"></div> |                 <div th:replace="~{fragments/card :: card(id='book-to-pdf', cardTitle=#{home.BookToPDF.title}, cardText=#{home.BookToPDF.desc}, cardLink='book-to-pdf', svgPath='images/book.svg')}"></div> | ||||||
|                 <div th:replace="~{fragments/card :: card(id='pdf-to-book', cardTitle=#{home.PDFToBook.title}, cardText=#{home.PDFToBook.desc}, cardLink='pdf-to-book', svgPath='images/book.svg')}"></div> |                 <div th:replace="~{fragments/card :: card(id='pdf-to-book', cardTitle=#{home.PDFToBook.title}, cardText=#{home.PDFToBook.desc}, cardLink='pdf-to-book', svgPath='images/book.svg')}"></div> | ||||||
|  |                 <div th:replace="~{fragments/card :: card(id='stamp', cardTitle=#{home.AddStampRequest.title}, cardText=#{home.AddStampRequest.desc}, cardLink='stamp', svgPath='images/stamp.svg')}"></div> | ||||||
|  |                  | ||||||
| 				 | 				 | ||||||
| 				 | 				 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -18,7 +18,7 @@ | |||||||
| 						<form id="pdfInfoForm" method="post" enctype="multipart/form-data" | 						<form id="pdfInfoForm" method="post" enctype="multipart/form-data" | ||||||
| 							th:action="@{show-javascript}"> | 							th:action="@{show-javascript}"> | ||||||
| 							<div | 							<div | ||||||
| 								th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, remoteCall='false')}"></div> | 								th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, remoteCall='false', accept='application/pdf')}"></div> | ||||||
| 							<br> | 							<br> | ||||||
| 							<button type="submit" id="submitBtn" class="btn btn-primary" | 							<button type="submit" id="submitBtn" class="btn btn-primary" | ||||||
| 								th:text="#{showJS.submit}"></button> | 								th:text="#{showJS.submit}"></button> | ||||||
|  | |||||||
							
								
								
									
										216
									
								
								src/main/resources/templates/misc/stamp.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										216
									
								
								src/main/resources/templates/misc/stamp.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,216 @@ | |||||||
|  | <!DOCTYPE html> | ||||||
|  | <html th:lang="${#locale.toString()}" | ||||||
|  | 	th:lang-direction="#{language.direction}" | ||||||
|  | 	xmlns:th="http://www.thymeleaf.org"> | ||||||
|  | 
 | ||||||
|  | <th:block | ||||||
|  | 	th:insert="~{fragments/common :: head(title=#{AddStampRequest.title}, header=#{AddStampRequest.header})}"></th:block> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <body> | ||||||
|  | 	<th:block th:insert="~{fragments/common :: game}"></th:block> | ||||||
|  | 	<div id="page-container"> | ||||||
|  | 		<div id="content-wrap"> | ||||||
|  | 			<div th:insert="~{fragments/navbar.html :: navbar}"></div> | ||||||
|  | 			<br> <br> | ||||||
|  | 			<div class="container"> | ||||||
|  | 				<div class="row justify-content-center"> | ||||||
|  | 					<div class="col-md-6"> | ||||||
|  | 						<h2 th:text="#{AddStampRequest.header}"></h2> | ||||||
|  | 						<form method="post" enctype="multipart/form-data" | ||||||
|  | 							th:action="@{api/v1/misc/add-stamp}"> | ||||||
|  | 							<div | ||||||
|  | 								th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, accept='application/pdf')}"></div> | ||||||
|  | 							<br> | ||||||
|  | 							<div class="mb-3"> | ||||||
|  | 								 <label for="customMargin" class="form-label" th:text="#{AddStampRequest.customMargin}">Custom Margin</label> | ||||||
|  |             					 <select class="form-select" id="customMargin" name="customMargin"> | ||||||
|  | 									<option value="small" th:text="#{sizes.small}"></option> | ||||||
|  | 									<option value="medium" selected th:text="#{sizes.medium}"></option> | ||||||
|  | 									<option value="large" th:text="#{sizes.large}"></option> | ||||||
|  | 									<option value="x-large" th:text="#{sizes.x-large}"></option> | ||||||
|  | 								</select> | ||||||
|  | 							</div> | ||||||
|  | 							<style> | ||||||
|  | .a4container { | ||||||
|  | 	position: relative; | ||||||
|  | 	width: 50%; | ||||||
|  | 	aspect-ratio: 0.707; | ||||||
|  | 	border: 1px solid #ddd; | ||||||
|  | 	box-sizing: border-box; | ||||||
|  | 	background-color: white; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .pageNumber { | ||||||
|  | 	position: absolute; | ||||||
|  | 	display: flex; | ||||||
|  | 	justify-content: center; | ||||||
|  | 	align-items: center; | ||||||
|  | 	font-size: 1em; | ||||||
|  | 	color: #333; | ||||||
|  | 	cursor: pointer; | ||||||
|  | 	background-color: #ccc; | ||||||
|  | 	width: 15%; | ||||||
|  | 	height: 15%; | ||||||
|  | 	transform: translate(-50%, -50%); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .pageNumber:hover { | ||||||
|  | 	background-color: #eee; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | #myForm { | ||||||
|  | 	display: flex; | ||||||
|  | 	justify-content: center; | ||||||
|  | 	align-items: center; | ||||||
|  | 	margin-top: 20px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .selectedPosition { | ||||||
|  | 	background-color: #0a0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .selectedPosition.selectedHovered { | ||||||
|  | 	background-color: #006600; | ||||||
|  | } | ||||||
|  | </style> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 							<div class="mb-3"> | ||||||
|  | 								<label for="position" th:text="#{AddStampRequest.position}"></label> | ||||||
|  | 								<div class="a4container"> | ||||||
|  | 									<div class="pageNumber" id="1" style="top: 10%; left: 10%;">1</div> | ||||||
|  | 									<div class="pageNumber" id="2" style="top: 10%; left: 50%;">2</div> | ||||||
|  | 									<div class="pageNumber" id="3" style="top: 10%; left: 90%;">3</div> | ||||||
|  | 									<div class="pageNumber" id="4" style="top: 50%; left: 10%;">4</div> | ||||||
|  | 									<div class="pageNumber" id="5" style="top: 50%; left: 50%;">5</div> | ||||||
|  | 									<div class="pageNumber" id="6" style="top: 50%; left: 90%;">6</div> | ||||||
|  | 									<div class="pageNumber" id="7" style="top: 90%; left: 10%;">7</div> | ||||||
|  | 									<div class="pageNumber selectedPosition" id="8" style="top: 90%; left: 50%;">8</div> | ||||||
|  | 									<div class="pageNumber" id="9" style="top: 90%; left: 90%;">9</div> | ||||||
|  | 								</div> | ||||||
|  | 							</div> | ||||||
|  | 
 | ||||||
|  | 							<input type="hidden" id="numberInput" name="position" min="1" | ||||||
|  | 								max="9" value="8" required /> | ||||||
|  | 								 | ||||||
|  | 								 | ||||||
|  | 							 | ||||||
|  |  <div class="mb-3"> | ||||||
|  |             <label for="stampType" class="form-label" th:text="#{AddStampRequest.stampType}">Stamp Type</label> | ||||||
|  |             <select class="form-select" id="stampType" name="stampType" onchange="toggleFileOption()" required> | ||||||
|  |                 <option value="text">Text</option> | ||||||
|  |                 <option value="image">Image</option> | ||||||
|  |             </select> | ||||||
|  |         </div> | ||||||
|  | 
 | ||||||
|  |         <div  id="stampTextGroup"  class="mb-3"> | ||||||
|  |             <label for="stampText" class="form-label" th:text="#{AddStampRequest.stampText}">Stamp Text</label> | ||||||
|  |             <input type="text" class="form-control" id="stampText" name="stampText"> | ||||||
|  |         </div> | ||||||
|  | 
 | ||||||
|  |         <div id="stampImageGroup" class="mb-3"  style="display: none;"> | ||||||
|  |             <label for="stampImage" class="form-label" th:text="#{AddStampRequest.stampImage}">Stamp Image</label> | ||||||
|  |             <input type="file" class="form-control" id="stampImage" name="stampImage" accept="image/*" > | ||||||
|  |         </div> | ||||||
|  | 
 | ||||||
|  |         <div id="alphabetGroup" class="mb-3"> | ||||||
|  |             <label for="alphabet" class="form-label" th:text="#{AddStampRequest.alphabet}">Alphabet</label> | ||||||
|  |             <select class="form-select" id="alphabet" name="alphabet"> | ||||||
|  |                 <option value="roman">Roman</option> | ||||||
|  |                 <option value="arabic">العربية</option> | ||||||
|  |                 <option value="japanese">日本語</option> | ||||||
|  |                 <option value="korean">한국어</option> | ||||||
|  |                 <option value="chinese">简体中文</option> | ||||||
|  |             </select> | ||||||
|  |         </div> | ||||||
|  | 
 | ||||||
|  |         <div class="mb-3"> | ||||||
|  |             <label for="fontSize" class="form-label" th:text="#{AddStampRequest.fontSize}">Font Size</label> | ||||||
|  |             <input type="number" class="form-control" id="fontSize" name="fontSize" value="30"> | ||||||
|  |         </div> | ||||||
|  | 
 | ||||||
|  |         <div class="mb-3"> | ||||||
|  |             <label for="rotation" class="form-label" th:text="#{AddStampRequest.rotation}">Rotation</label> | ||||||
|  |             <input type="number" class="form-control" id="rotation" name="rotation" value="0"> | ||||||
|  |         </div> | ||||||
|  | 
 | ||||||
|  |         <div class="mb-3"> | ||||||
|  |             <label for="opacity" class="form-label" th:text="#{AddStampRequest.opacity}">Opacity</label> | ||||||
|  |             <input type="number" class="form-control" id="opacity" name="opacity" step="0.1" value="0.5"> | ||||||
|  |         </div> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         <div class="mb-3"> | ||||||
|  |             <label for="overrideX" class="form-label" th:text="#{AddStampRequest.overrideX}">Override X</label> | ||||||
|  |             <input type="number" class="form-control" id="overrideX" name="overrideX" value="-1"> | ||||||
|  |         </div> | ||||||
|  | 
 | ||||||
|  |         <div class="mb-3"> | ||||||
|  |             <label for="overrideY" class="form-label" th:text="#{AddStampRequest.overrideY}">Override Y</label> | ||||||
|  |             <input type="number" class="form-control" id="overrideY" name="overrideY" value="-1"> | ||||||
|  |         </div> | ||||||
|  |          | ||||||
|  |           <div class="mb-3"> | ||||||
|  |             <label for="customColor" class="form-label" th:text="#{AddStampRequest.customColor}">Custom Color</label> | ||||||
|  |             <input type="color" class="form-control form-control-color" id="customColor" name="customColor" value="#d3d3d3"> | ||||||
|  |         </div> | ||||||
|  |          | ||||||
|  | 							<button type="submit" id="submitBtn" class="btn btn-primary" | ||||||
|  | 								th:text="#{AddStampRequest.submit}"></button> | ||||||
|  | 						</form> | ||||||
|  | 
 | ||||||
|  | 					</div> | ||||||
|  | 				</div> | ||||||
|  | 			</div> | ||||||
|  | 			<script> | ||||||
|  | 			let cells = document.querySelectorAll('.pageNumber'); | ||||||
|  | 			let inputField = document.getElementById('numberInput'); | ||||||
|  | 			 | ||||||
|  | 			cells.forEach(cell => { | ||||||
|  | 			  cell.addEventListener('click', function(e) { | ||||||
|  | 			    cells.forEach(cell => { | ||||||
|  | 			      cell.classList.remove('selectedPosition'); // Remove selected class from all cells | ||||||
|  | 			      cell.classList.remove('selectedHovered'); // Also remove selectedHovered class | ||||||
|  | 			    }); | ||||||
|  | 			    let selectedLocation = e.target.id; | ||||||
|  | 			    inputField.value = selectedLocation; | ||||||
|  | 			    e.target.classList.add('selectedPosition'); // Add selected class to clicked cell | ||||||
|  | 			    e.target.classList.add('selectedHovered'); // Add selectedHovered class | ||||||
|  | 			  }); | ||||||
|  | 		 | ||||||
|  | 			  cell.addEventListener('mouseenter', function(e) { | ||||||
|  | 			    if(e.target.classList.contains('selectedPosition')) { | ||||||
|  | 			      e.target.classList.add('selectedHovered'); | ||||||
|  | 			    } | ||||||
|  | 			  }); | ||||||
|  | 		 | ||||||
|  | 			  cell.addEventListener('mouseleave', function(e) { | ||||||
|  | 			    if(e.target.classList.contains('selectedPosition')) { | ||||||
|  | 			      e.target.classList.remove('selectedHovered'); | ||||||
|  | 			    } | ||||||
|  | 			  }); | ||||||
|  | 			});	 | ||||||
|  | 		 | ||||||
|  |                         function toggleFileOption() { | ||||||
|  |                             const stampType = document.getElementById('stampType').value; | ||||||
|  |                             const stampTextGroup = document.getElementById('stampTextGroup'); | ||||||
|  |                             const stampImageGroup = document.getElementById('stampImageGroup'); | ||||||
|  |                             const alphabetGroup = document.getElementById('alphabetGroup'); | ||||||
|  |                              | ||||||
|  |                             if (stampType === 'text') { | ||||||
|  |                                 stampTextGroup.style.display = 'block'; | ||||||
|  |                                 stampImageGroup.style.display = 'none'; | ||||||
|  |                                 alphabetGroup.style.display = 'block'; | ||||||
|  |                             } else if (stampType === 'image') { | ||||||
|  |                                 stampTextGroup.style.display = 'none'; | ||||||
|  |                                 stampImageGroup.style.display = 'block'; | ||||||
|  |                                 alphabetGroup.style.display = 'none'; | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                         </script> | ||||||
|  | 		</div> | ||||||
|  | 		<div th:insert="~{fragments/footer.html :: footer}"></div> | ||||||
|  | 	</div> | ||||||
|  | </body> | ||||||
|  | </html> | ||||||
| @ -14,7 +14,7 @@ | |||||||
|                     <div class="col-md-6"> |                     <div class="col-md-6"> | ||||||
|                         <h2 th:text="#{pdfToSinglePage.header}"></h2> |                         <h2 th:text="#{pdfToSinglePage.header}"></h2> | ||||||
| 						<form method="post" enctype="multipart/form-data" th:action="@{api/v1/general/pdf-to-single-page}"> | 						<form method="post" enctype="multipart/form-data" th:action="@{api/v1/general/pdf-to-single-page}"> | ||||||
| 						    <div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false)}"></div> | 						    <div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, accept='application/pdf')}"></div> | ||||||
| 						    <button type="submit" id="submitBtn" class="btn btn-primary" th:text="#{pdfToSinglePage.submit}"></button> | 						    <button type="submit" id="submitBtn" class="btn btn-primary" th:text="#{pdfToSinglePage.submit}"></button> | ||||||
| 						</form> | 						</form> | ||||||
|                     </div> |                     </div> | ||||||
|  | |||||||
| @ -16,7 +16,7 @@ | |||||||
| 						<form id="pdfInfoForm" method="post" enctype="multipart/form-data" | 						<form id="pdfInfoForm" method="post" enctype="multipart/form-data" | ||||||
| 							th:action="@{api/v1/security/get-info-on-pdf}"> | 							th:action="@{api/v1/security/get-info-on-pdf}"> | ||||||
| 							<div | 							<div | ||||||
| 								th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, remoteCall='false')}"></div> | 								th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, remoteCall='false', accept='application/pdf')}"></div> | ||||||
| 							<br> | 							<br> | ||||||
| 							<button type="submit" id="submitBtn" class="btn btn-primary" | 							<button type="submit" id="submitBtn" class="btn btn-primary" | ||||||
| 								th:text="#{getPdfInfo.submit}"></button> | 								th:text="#{getPdfInfo.submit}"></button> | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user