From 212d4d0dcb4a20ba28208e46251933eca6de2c01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Sz=C3=BCcs?= <127139797+balazs-szucs@users.noreply.github.com> Date: Wed, 25 Jun 2025 19:53:01 +0200 Subject: [PATCH] feat: add Thai language support and corresponding font for watermarking (#3819) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # Description of Changes This pull request adds support for Thai language in the watermark functionality. ### Backend updates: * [`stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/WatermarkController.java`](diffhunk://#diff-73e8448c42af57bb0549146473b5e7edc063533694813dfda7214e51005a90daR173-R175): Added a new case for "thai" in the `addTextWatermark` method to use the `NotoSansThai-Regular.ttf` font for Thai text. ### Frontend updates: * [`stirling-pdf/src/main/resources/templates/security/add-watermark.html`](diffhunk://#diff-dc75a6b50ba2a29c6cb17f0cfa65e4ffac88102d5834ea40fc9d9b3b4d00f8f3R41): Added a new option for Thai language (`ไทย`) in the language dropdown menu for watermark customization. ![image](https://github.com/user-attachments/assets/9ad3bf7f-bcc6-4f10-818e-d3e7467ab6c0) ### Sample PDF: ![image](https://github.com/user-attachments/assets/d8b569e3-9dcb-42b3-9699-67ffa8043bd3) [dummy_watermarked.pdf](https://github.com/user-attachments/files/20903700/dummy_watermarked.pdf) Closes #3810 --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md) (if applicable) - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [x] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [x] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing) for more details. --- .../api/security/WatermarkController.java | 3 +++ .../static/fonts/NotoSansThai-Regular.ttf | Bin 0 -> 22644 bytes .../templates/security/add-watermark.html | 1 + 3 files changed, 4 insertions(+) create mode 100644 stirling-pdf/src/main/resources/static/fonts/NotoSansThai-Regular.ttf diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/WatermarkController.java b/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/WatermarkController.java index fd8f1cf8a..47a53a4f9 100644 --- a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/WatermarkController.java +++ b/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/WatermarkController.java @@ -170,6 +170,9 @@ public class WatermarkController { case "chinese": resourceDir = "static/fonts/SimSun.ttf"; break; + case "thai": + resourceDir = "static/fonts/NotoSansThai-Regular.ttf"; + break; case "roman": default: resourceDir = "static/fonts/NotoSans-Regular.ttf"; diff --git a/stirling-pdf/src/main/resources/static/fonts/NotoSansThai-Regular.ttf b/stirling-pdf/src/main/resources/static/fonts/NotoSansThai-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7f72a6e14430730b12741208127d35d427975fa6 GIT binary patch literal 22644 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 literal 0 HcmV?d00001 diff --git a/stirling-pdf/src/main/resources/templates/security/add-watermark.html b/stirling-pdf/src/main/resources/templates/security/add-watermark.html index 950985b0a..a556d21fc 100644 --- a/stirling-pdf/src/main/resources/templates/security/add-watermark.html +++ b/stirling-pdf/src/main/resources/templates/security/add-watermark.html @@ -38,6 +38,7 @@ +