From 715445a8dd73fb782f5f9f82cef39a5f35ccb44c Mon Sep 17 00:00:00 2001 From: Maria Leonor Laranjeira <92693155+MariaLaranjeira@users.noreply.github.com> Date: Tue, 29 Apr 2025 11:40:08 +0100 Subject: [PATCH] Remove read only from forms (#3423) # Description of Changes Create new tool to remove read-only properties of form fields. - Added new html file to provide a page for the tool (misc/unlock-pdf-forms.html), as well as new endpoint (/unlock-pdf-forms) under config/EndpointConfiguration.java - Added the tool to the list of "view & edit" tools under the home page in home-legacy.html and navElements.html - Mapped the frontend in controller/web/OtherWebController.java - Created a new controller (controller/api/misc/UnlockPDFFormsController.java) to handle AcroForm /Ff flags, /Lock tags and XFA Forms, removing the read-only properties of all form fields of a PDF document. - Added language entries to all the language files, to correctly display the tool's title, header,description, etc. Closes #2965 --- ## 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 - [x] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ![image](https://github.com/user-attachments/assets/2890d3c0-0535-487c-aa0a-83ad9597d898) ![image](https://github.com/user-attachments/assets/631e729c-d68d-4da9-b925-64b5362aeea4) ![image](https://github.com/user-attachments/assets/376a98d5-ca1d-45e9-910f-b5c7639eae8c) ### 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. --------- Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> --- .../SPDF/config/EndpointConfiguration.java | 1 + .../api/misc/UnlockPDFFormsController.java | 124 ++++++++++++++++++ .../controller/web/OtherWebController.java | 7 + .../controller/web/UploadLimitService.java | 24 ++-- src/main/resources/messages_ar_AR.properties | 6 + src/main/resources/messages_az_AZ.properties | 6 + src/main/resources/messages_bg_BG.properties | 6 + src/main/resources/messages_ca_CA.properties | 6 + src/main/resources/messages_cs_CZ.properties | 6 + src/main/resources/messages_da_DK.properties | 6 + src/main/resources/messages_de_DE.properties | 6 + src/main/resources/messages_el_GR.properties | 6 + src/main/resources/messages_en_GB.properties | 8 +- src/main/resources/messages_en_US.properties | 8 +- src/main/resources/messages_es_ES.properties | 6 + src/main/resources/messages_eu_ES.properties | 6 + src/main/resources/messages_fa_IR.properties | 6 + src/main/resources/messages_fr_FR.properties | 6 + src/main/resources/messages_ga_IE.properties | 6 + src/main/resources/messages_hi_IN.properties | 6 + src/main/resources/messages_hr_HR.properties | 6 + src/main/resources/messages_hu_HU.properties | 6 + src/main/resources/messages_id_ID.properties | 6 + src/main/resources/messages_it_IT.properties | 6 + src/main/resources/messages_ja_JP.properties | 6 + src/main/resources/messages_ko_KR.properties | 6 + src/main/resources/messages_nl_NL.properties | 6 + src/main/resources/messages_no_NB.properties | 6 + src/main/resources/messages_pl_PL.properties | 6 + src/main/resources/messages_pt_BR.properties | 6 + src/main/resources/messages_pt_PT.properties | 7 + src/main/resources/messages_ro_RO.properties | 6 + src/main/resources/messages_ru_RU.properties | 6 + src/main/resources/messages_sk_SK.properties | 6 + src/main/resources/messages_sl_SI.properties | 6 + .../resources/messages_sr_LATN_RS.properties | 6 + src/main/resources/messages_sv_SE.properties | 6 + src/main/resources/messages_th_TH.properties | 6 + src/main/resources/messages_tr_TR.properties | 6 + src/main/resources/messages_uk_UA.properties | 6 + src/main/resources/messages_vi_VN.properties | 6 + src/main/resources/messages_zh_BO.properties | 6 + src/main/resources/messages_zh_CN.properties | 6 + src/main/resources/messages_zh_TW.properties | 6 + .../templates/fragments/navElements.html | 3 + src/main/resources/templates/home-legacy.html | 3 + .../templates/misc/unlock-pdf-forms.html | 34 +++++ 47 files changed, 428 insertions(+), 13 deletions(-) create mode 100644 src/main/java/stirling/software/SPDF/controller/api/misc/UnlockPDFFormsController.java create mode 100644 src/main/resources/templates/misc/unlock-pdf-forms.html diff --git a/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java b/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java index 2a89cc99f..0ddd68958 100644 --- a/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java +++ b/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java @@ -164,6 +164,7 @@ public class EndpointConfiguration { addEndpointToGroup("Other", "sign"); addEndpointToGroup("Other", "flatten"); addEndpointToGroup("Other", "repair"); + addEndpointToGroup("Other", "unlock-pdf-forms"); addEndpointToGroup("Other", REMOVE_BLANKS); addEndpointToGroup("Other", "remove-annotations"); addEndpointToGroup("Other", "compare"); diff --git a/src/main/java/stirling/software/SPDF/controller/api/misc/UnlockPDFFormsController.java b/src/main/java/stirling/software/SPDF/controller/api/misc/UnlockPDFFormsController.java new file mode 100644 index 000000000..764c7d6c4 --- /dev/null +++ b/src/main/java/stirling/software/SPDF/controller/api/misc/UnlockPDFFormsController.java @@ -0,0 +1,124 @@ +package stirling.software.SPDF.controller.api.misc; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; + +import org.apache.pdfbox.cos.*; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.pdmodel.common.PDStream; +import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm; +import org.apache.pdfbox.pdmodel.interactive.form.PDField; +import org.springframework.beans.factory.annotation.Autowired; +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 io.github.pixee.security.Filenames; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; + +import lombok.extern.slf4j.Slf4j; + +import stirling.software.SPDF.model.api.PDFFile; +import stirling.software.SPDF.service.CustomPDFDocumentFactory; +import stirling.software.SPDF.utils.WebResponseUtils; + +@RestController +@RequestMapping("/api/v1/misc") +@Slf4j +@Tag(name = "Misc", description = "Miscellaneous APIs") +public class UnlockPDFFormsController { + private final CustomPDFDocumentFactory pdfDocumentFactory; + + @Autowired + public UnlockPDFFormsController(CustomPDFDocumentFactory pdfDocumentFactory) { + this.pdfDocumentFactory = pdfDocumentFactory; + } + + @PostMapping(consumes = "multipart/form-data", value = "/unlock-pdf-forms") + @Operation( + summary = "Remove read-only property from form fields", + description = + "Removing read-only property from form fields making them fillable" + + "Input:PDF, Output:PDF. Type:SISO") + public ResponseEntity unlockPDFForms(@ModelAttribute PDFFile file) { + try (PDDocument document = pdfDocumentFactory.load(file)) { + PDAcroForm acroForm = document.getDocumentCatalog().getAcroForm(); + + if (acroForm != null) { + acroForm.setNeedAppearances(true); + + for (PDField field : acroForm.getFieldTree()) { + COSDictionary dict = field.getCOSObject(); + if (dict.containsKey(COSName.getPDFName("Lock"))) { + dict.removeItem(COSName.getPDFName("Lock")); + } + int currentFlags = field.getFieldFlags(); + if ((currentFlags & 1) == 1) { + int newFlags = currentFlags & ~1; + field.setFieldFlags(newFlags); + } + } + + COSBase xfaBase = acroForm.getCOSObject().getDictionaryObject(COSName.XFA); + if (xfaBase != null) { + try { + if (xfaBase instanceof COSStream xfaStream) { + InputStream is = xfaStream.createInputStream(); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + is.transferTo(baos); + String xml = baos.toString(StandardCharsets.UTF_8); + + xml = xml.replaceAll("access\\s*=\\s*\"readOnly\"", "access=\"open\""); + + PDStream newStream = + new PDStream( + document, + new ByteArrayInputStream( + xml.getBytes(StandardCharsets.UTF_8))); + acroForm.getCOSObject().setItem(COSName.XFA, newStream.getCOSObject()); + } else if (xfaBase instanceof COSArray xfaArray) { + for (int i = 0; i < xfaArray.size(); i += 2) { + COSBase namePart = xfaArray.getObject(i); + COSBase streamPart = xfaArray.getObject(i + 1); + if (namePart instanceof COSString + && streamPart instanceof COSStream stream) { + InputStream is = stream.createInputStream(); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + is.transferTo(baos); + String xml = baos.toString(StandardCharsets.UTF_8); + + xml = + xml.replaceAll( + "access\\s*=\\s*\"readOnly\"", + "access=\"open\""); + + PDStream newStream = + new PDStream( + document, + new ByteArrayInputStream( + xml.getBytes(StandardCharsets.UTF_8))); + xfaArray.set(i + 1, newStream.getCOSObject()); + } + } + } + } catch (Exception e) { + log.error("exception", e); + } + } + } + String mergedFileName = + file.getFileInput().getOriginalFilename().replaceFirst("[.][^.]+$", "") + + "_unlocked_forms.pdf"; + return WebResponseUtils.pdfDocToWebResponse( + document, Filenames.toSimpleFileName(mergedFileName)); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + return null; + } +} diff --git a/src/main/java/stirling/software/SPDF/controller/web/OtherWebController.java b/src/main/java/stirling/software/SPDF/controller/web/OtherWebController.java index 94fc85f82..ddd189e28 100644 --- a/src/main/java/stirling/software/SPDF/controller/web/OtherWebController.java +++ b/src/main/java/stirling/software/SPDF/controller/web/OtherWebController.java @@ -98,6 +98,13 @@ public class OtherWebController { return "misc/change-metadata"; } + @GetMapping("/unlock-pdf-forms") + @Hidden + public String unlockPDFForms(Model model) { + model.addAttribute("currentPage", "unlock-pdf-forms"); + return "misc/unlock-pdf-forms"; + } + @GetMapping("/compare") @Hidden public String compareForm(Model model) { diff --git a/src/main/java/stirling/software/SPDF/controller/web/UploadLimitService.java b/src/main/java/stirling/software/SPDF/controller/web/UploadLimitService.java index f760f986a..200df6d07 100644 --- a/src/main/java/stirling/software/SPDF/controller/web/UploadLimitService.java +++ b/src/main/java/stirling/software/SPDF/controller/web/UploadLimitService.java @@ -1,32 +1,34 @@ package stirling.software.SPDF.controller.web; +import java.util.regex.Pattern; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.model.ApplicationProperties; -import java.util.regex.Pattern; +import stirling.software.SPDF.model.ApplicationProperties; @Service @Slf4j public class UploadLimitService { - @Autowired - private ApplicationProperties applicationProperties; + @Autowired private ApplicationProperties applicationProperties; public long getUploadLimit() { String maxUploadSize = - applicationProperties.getSystem().getFileUploadLimit() != null - ? applicationProperties.getSystem().getFileUploadLimit() - : ""; + applicationProperties.getSystem().getFileUploadLimit() != null + ? applicationProperties.getSystem().getFileUploadLimit() + : ""; if (maxUploadSize.isEmpty()) { return 0; - } else if (!Pattern.compile("^[1-9][0-9]{0,2}[KMGkmg][Bb]$").matcher(maxUploadSize).matches()) { + } else if (!Pattern.compile("^[1-9][0-9]{0,2}[KMGkmg][Bb]$") + .matcher(maxUploadSize) + .matches()) { log.error( - "Invalid maxUploadSize format. Expected format: [1-9][0-9]{0,2}[KMGkmg][Bb], but got: {}", - maxUploadSize); + "Invalid maxUploadSize format. Expected format: [1-9][0-9]{0,2}[KMGkmg][Bb], but got: {}", + maxUploadSize); return 0; } else { String unit = maxUploadSize.replaceAll("[1-9][0-9]{0,2}", "").toUpperCase(); @@ -41,7 +43,7 @@ public class UploadLimitService { } } - //TODO: why do this server side not client? + // TODO: why do this server side not client? public String getReadableUploadLimit() { return humanReadableByteCount(getUploadLimit()); } diff --git a/src/main/resources/messages_ar_AR.properties b/src/main/resources/messages_ar_AR.properties index d4acec354..ac37ba71d 100644 --- a/src/main/resources/messages_ar_AR.properties +++ b/src/main/resources/messages_ar_AR.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_az_AZ.properties b/src/main/resources/messages_az_AZ.properties index a7c5e8230..9a12f5279 100644 --- a/src/main/resources/messages_az_AZ.properties +++ b/src/main/resources/messages_az_AZ.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_bg_BG.properties b/src/main/resources/messages_bg_BG.properties index 53174c7f1..7172079cf 100644 --- a/src/main/resources/messages_bg_BG.properties +++ b/src/main/resources/messages_bg_BG.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_ca_CA.properties b/src/main/resources/messages_ca_CA.properties index 70e48c3f3..f9704c700 100644 --- a/src/main/resources/messages_ca_CA.properties +++ b/src/main/resources/messages_ca_CA.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_cs_CZ.properties b/src/main/resources/messages_cs_CZ.properties index 6f8cfec76..3154003e3 100644 --- a/src/main/resources/messages_cs_CZ.properties +++ b/src/main/resources/messages_cs_CZ.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_da_DK.properties b/src/main/resources/messages_da_DK.properties index 076130e31..5277a59c6 100644 --- a/src/main/resources/messages_da_DK.properties +++ b/src/main/resources/messages_da_DK.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_de_DE.properties b/src/main/resources/messages_de_DE.properties index 3bb563f6f..039eaed56 100644 --- a/src/main/resources/messages_de_DE.properties +++ b/src/main/resources/messages_de_DE.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=Diese Cookies sind für das cookieBanner.preferencesModal.analytics.title=Analyse cookieBanner.preferencesModal.analytics.description=Diese Cookies helfen uns zu verstehen, wie unsere Tools genutzt werden, damit wir uns darauf konzentrieren können, die Funktionen zu entwickeln, die unserer Community am meisten am Herzen liegen. Seien Sie beruhigt – Stirling PDF kann und wird niemals den Inhalt der Dokumente verfolgen, mit denen Sie arbeiten. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_el_GR.properties b/src/main/resources/messages_el_GR.properties index 2914c019a..036372407 100644 --- a/src/main/resources/messages_el_GR.properties +++ b/src/main/resources/messages_el_GR.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_en_GB.properties b/src/main/resources/messages_en_GB.properties index 5b7efbab4..a8be0c1b6 100644 --- a/src/main/resources/messages_en_GB.properties +++ b/src/main/resources/messages_en_GB.properties @@ -364,6 +364,9 @@ home.compressPdfs.title=Compress home.compressPdfs.desc=Compress PDFs to reduce their file size. compressPdfs.tags=squish,small,tiny +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly home.changeMetadata.title=Change Metadata home.changeMetadata.desc=Change/Remove/Add metadata from a PDF document @@ -377,7 +380,6 @@ home.ocr.title=OCR / Cleanup scans home.ocr.desc=Cleanup scans and detects text from images within a PDF and re-adds it as text. ocr.tags=recognition,text,image,scan,read,identify,detection,editable - home.extractImages.title=Extract Images home.extractImages.desc=Extracts all images from a PDF and saves them to zip extractImages.tags=picture,photo,save,archive,zip,capture,grab @@ -1193,6 +1195,10 @@ changeMetadata.selectText.4=Other Metadata: changeMetadata.selectText.5=Add Custom Metadata Entry changeMetadata.submit=Change +#unlockPDFForms +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove #pdfToPDFA pdfToPDFA.title=PDF To PDF/A diff --git a/src/main/resources/messages_en_US.properties b/src/main/resources/messages_en_US.properties index e2a2eeb75..13b7ec988 100644 --- a/src/main/resources/messages_en_US.properties +++ b/src/main/resources/messages_en_US.properties @@ -364,6 +364,9 @@ home.compressPdfs.title=Compress home.compressPdfs.desc=Compress PDFs to reduce their file size. compressPdfs.tags=squish,small,tiny +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly home.changeMetadata.title=Change Metadata home.changeMetadata.desc=Change/Remove/Add metadata from a PDF document @@ -377,7 +380,6 @@ home.ocr.title=OCR / Cleanup scans home.ocr.desc=Cleanup scans and detects text from images within a PDF and re-adds it as text. ocr.tags=recognition,text,image,scan,read,identify,detection,editable - home.extractImages.title=Extract Images home.extractImages.desc=Extracts all images from a PDF and saves them to zip extractImages.tags=picture,photo,save,archive,zip,capture,grab @@ -1193,6 +1195,10 @@ changeMetadata.selectText.4=Other Metadata: changeMetadata.selectText.5=Add Custom Metadata Entry changeMetadata.submit=Change +#unlockPDFForms +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove #pdfToPDFA pdfToPDFA.title=PDF To PDF/A diff --git a/src/main/resources/messages_es_ES.properties b/src/main/resources/messages_es_ES.properties index fd228fe09..b3ec9c555 100644 --- a/src/main/resources/messages_es_ES.properties +++ b/src/main/resources/messages_es_ES.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=Estas cookies son esenciales cookieBanner.preferencesModal.analytics.title=Análisis cookieBanner.preferencesModal.analytics.description=Estas cookies nos ayudan a entender cómo se están utilizando nuestras herramientas, para que podamos centrarnos en desarrollar las funciones que nuestra comunidad valora más. Tenga la seguridad de que Stirling PDF no puede y nunca podrá rastrear el contenido de los documentos con los que trabaja. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_eu_ES.properties b/src/main/resources/messages_eu_ES.properties index 2282a0fd7..8f7685d7c 100644 --- a/src/main/resources/messages_eu_ES.properties +++ b/src/main/resources/messages_eu_ES.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_fa_IR.properties b/src/main/resources/messages_fa_IR.properties index cb16dab70..f5b7c407b 100644 --- a/src/main/resources/messages_fa_IR.properties +++ b/src/main/resources/messages_fa_IR.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_fr_FR.properties b/src/main/resources/messages_fr_FR.properties index 34395c125..9b15c63ae 100644 --- a/src/main/resources/messages_fr_FR.properties +++ b/src/main/resources/messages_fr_FR.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_ga_IE.properties b/src/main/resources/messages_ga_IE.properties index beba9a2fe..ff5bf7766 100644 --- a/src/main/resources/messages_ga_IE.properties +++ b/src/main/resources/messages_ga_IE.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_hi_IN.properties b/src/main/resources/messages_hi_IN.properties index 157e1306e..0f185cfab 100644 --- a/src/main/resources/messages_hi_IN.properties +++ b/src/main/resources/messages_hi_IN.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_hr_HR.properties b/src/main/resources/messages_hr_HR.properties index 5b67ac31b..b48e5d031 100644 --- a/src/main/resources/messages_hr_HR.properties +++ b/src/main/resources/messages_hr_HR.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_hu_HU.properties b/src/main/resources/messages_hu_HU.properties index dcee34b6c..cf1dc55fa 100644 --- a/src/main/resources/messages_hu_HU.properties +++ b/src/main/resources/messages_hu_HU.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_id_ID.properties b/src/main/resources/messages_id_ID.properties index 14ed3fc1d..19d99db76 100644 --- a/src/main/resources/messages_id_ID.properties +++ b/src/main/resources/messages_id_ID.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_it_IT.properties b/src/main/resources/messages_it_IT.properties index 30368524f..7e6a20a81 100644 --- a/src/main/resources/messages_it_IT.properties +++ b/src/main/resources/messages_it_IT.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=Questi cookie sono essenzial cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=Questi cookie ci aiutano a capire come vengono utilizzati i nostri strumenti, così possiamo concentrarci sullo sviluppo delle funzionalità che la nostra community apprezza di più. Non preoccuparti: Stirling PDF non può e non traccerà mai il contenuto dei documenti con cui lavori. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_ja_JP.properties b/src/main/resources/messages_ja_JP.properties index 6cff67330..d323b008b 100644 --- a/src/main/resources/messages_ja_JP.properties +++ b/src/main/resources/messages_ja_JP.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=これらのCookieはウェ cookieBanner.preferencesModal.analytics.title=分析 cookieBanner.preferencesModal.analytics.description=これらのCookieはツールがどのように使用されているかを把握するのに役立ちます。これによりコミュニティが最も重視する機能の開発に集中することができます。ご安心ください。Stirling PDFはお客様が操作するドキュメントの内容を追跡することは決してありません。 +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_ko_KR.properties b/src/main/resources/messages_ko_KR.properties index 8f292732a..1b3d22a82 100644 --- a/src/main/resources/messages_ko_KR.properties +++ b/src/main/resources/messages_ko_KR.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_nl_NL.properties b/src/main/resources/messages_nl_NL.properties index eea0319d9..15e55b42f 100644 --- a/src/main/resources/messages_nl_NL.properties +++ b/src/main/resources/messages_nl_NL.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_no_NB.properties b/src/main/resources/messages_no_NB.properties index c9c348dd9..0e19e2f53 100644 --- a/src/main/resources/messages_no_NB.properties +++ b/src/main/resources/messages_no_NB.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_pl_PL.properties b/src/main/resources/messages_pl_PL.properties index e4def0261..9b312a07d 100644 --- a/src/main/resources/messages_pl_PL.properties +++ b/src/main/resources/messages_pl_PL.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_pt_BR.properties b/src/main/resources/messages_pt_BR.properties index c6bbddb39..7a9e8af4b 100644 --- a/src/main/resources/messages_pt_BR.properties +++ b/src/main/resources/messages_pt_BR.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=Estes cookies são essenciai cookieBanner.preferencesModal.analytics.title=Cookies Analíticos cookieBanner.preferencesModal.analytics.description=Estes cookies nos ajudam a entender como nossas ferramentas estão sendo utilizadas, para que possamos nos concentrar na construção dos recursos que nossa comunidade mais valoriza. Fique tranquilo: o Stirling PDF não pode e nunca rastreará o conteúdo dos documentos com os quais você manipula. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_pt_PT.properties b/src/main/resources/messages_pt_PT.properties index 88de5abf7..d7a1c6c62 100644 --- a/src/main/resources/messages_pt_PT.properties +++ b/src/main/resources/messages_pt_PT.properties @@ -364,6 +364,9 @@ home.compressPdfs.title=Comprimir home.compressPdfs.desc=Comprimir PDFs para reduzir o seu tamanho. compressPdfs.tags=comprimir,pequeno,minúsculo +home.unlockPDFForms.title=Desbloquear Formulários do PDF +home.unlockPDFForms.desc=Remover propriedades de apenas leitura dos formulários de um PDF +unlockPDFForms.tags=remover,apagar,formulário,campo,apenas leitura home.changeMetadata.title=Alterar Metadados home.changeMetadata.desc=Alterar/Remover/Adicionar metadados de um documento PDF @@ -1193,6 +1196,10 @@ changeMetadata.selectText.4=Outros Metadados: changeMetadata.selectText.5=Adicionar Entrada de Metadados Personalizada changeMetadata.submit=Alterar +#unlockPDFForms +unlockPDFForms.title=Desbloquear Formulários do PDF +unlockPDFForms.header=Desbloquear Formulários do PDF +unlockPDFForms.submit=Remover #pdfToPDFA pdfToPDFA.title=PDF Para PDF/A diff --git a/src/main/resources/messages_ro_RO.properties b/src/main/resources/messages_ro_RO.properties index 833c28329..67f01b741 100644 --- a/src/main/resources/messages_ro_RO.properties +++ b/src/main/resources/messages_ro_RO.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_ru_RU.properties b/src/main/resources/messages_ru_RU.properties index 2d7dd4593..1b829b138 100644 --- a/src/main/resources/messages_ru_RU.properties +++ b/src/main/resources/messages_ru_RU.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_sk_SK.properties b/src/main/resources/messages_sk_SK.properties index 686d03bea..1ebef67ae 100644 --- a/src/main/resources/messages_sk_SK.properties +++ b/src/main/resources/messages_sk_SK.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_sl_SI.properties b/src/main/resources/messages_sl_SI.properties index c7bdbb7af..0eb6435cf 100644 --- a/src/main/resources/messages_sl_SI.properties +++ b/src/main/resources/messages_sl_SI.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_sr_LATN_RS.properties b/src/main/resources/messages_sr_LATN_RS.properties index a33a47009..541eb1bdd 100644 --- a/src/main/resources/messages_sr_LATN_RS.properties +++ b/src/main/resources/messages_sr_LATN_RS.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_sv_SE.properties b/src/main/resources/messages_sv_SE.properties index 807aa41c8..00d2b20b3 100644 --- a/src/main/resources/messages_sv_SE.properties +++ b/src/main/resources/messages_sv_SE.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_th_TH.properties b/src/main/resources/messages_th_TH.properties index a3d3b962c..d78be5657 100644 --- a/src/main/resources/messages_th_TH.properties +++ b/src/main/resources/messages_th_TH.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_tr_TR.properties b/src/main/resources/messages_tr_TR.properties index ba08e4094..8aaa91761 100644 --- a/src/main/resources/messages_tr_TR.properties +++ b/src/main/resources/messages_tr_TR.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=Bu çerezler, web sitesinin cookieBanner.preferencesModal.analytics.title=Analitik cookieBanner.preferencesModal.analytics.description=Bu çerezler, araçlarımızın nasıl kullanıldığını anlamamıza yardımcı olur, böylece topluluğumuzun en çok değer verdiği özellikleri geliştirmeye odaklanabiliriz. İçiniz rahat olsun — Stirling PDF, belgelerinizin içeriğini asla takip etmez ve etmeyecektir. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_uk_UA.properties b/src/main/resources/messages_uk_UA.properties index ee8a9708a..0ef0738e1 100644 --- a/src/main/resources/messages_uk_UA.properties +++ b/src/main/resources/messages_uk_UA.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_vi_VN.properties b/src/main/resources/messages_vi_VN.properties index 8aa86f96f..a818e4b94 100644 --- a/src/main/resources/messages_vi_VN.properties +++ b/src/main/resources/messages_vi_VN.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_zh_BO.properties b/src/main/resources/messages_zh_BO.properties index e1ae1e595..fa39ac8de 100644 --- a/src/main/resources/messages_zh_BO.properties +++ b/src/main/resources/messages_zh_BO.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_zh_CN.properties b/src/main/resources/messages_zh_CN.properties index d617cebae..0f329ce53 100644 --- a/src/main/resources/messages_zh_CN.properties +++ b/src/main/resources/messages_zh_CN.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/messages_zh_TW.properties b/src/main/resources/messages_zh_TW.properties index 80f85457d..843a6a031 100644 --- a/src/main/resources/messages_zh_TW.properties +++ b/src/main/resources/messages_zh_TW.properties @@ -1430,3 +1430,9 @@ cookieBanner.preferencesModal.necessary.description=這些 Cookies 對網站正 cookieBanner.preferencesModal.analytics.title=分析 Cookies cookieBanner.preferencesModal.analytics.description=這些 Cookies 幫助我們分析您如何使用我們的工具,好讓我們能專注在構建社群最重視的功能。儘管放心—— Stirling PDF 不會且永不追蹤您的文件 +home.unlockPDFForms.title=Unlock PDF Forms +home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +unlockPDFForms.tags=remove,delete,form,field,readonly +unlockPDFForms.title=Remove Read-Only from Form Fields +unlockPDFForms.header=Unlock PDF Forms +unlockPDFForms.submit=Remove diff --git a/src/main/resources/templates/fragments/navElements.html b/src/main/resources/templates/fragments/navElements.html index 5b293a8a1..0bc0ef1e0 100644 --- a/src/main/resources/templates/fragments/navElements.html +++ b/src/main/resources/templates/fragments/navElements.html @@ -231,6 +231,9 @@
+
+
diff --git a/src/main/resources/templates/home-legacy.html b/src/main/resources/templates/home-legacy.html index 62ad658f8..d60ac220e 100644 --- a/src/main/resources/templates/home-legacy.html +++ b/src/main/resources/templates/home-legacy.html @@ -287,6 +287,9 @@
+
+
diff --git a/src/main/resources/templates/misc/unlock-pdf-forms.html b/src/main/resources/templates/misc/unlock-pdf-forms.html new file mode 100644 index 000000000..11fc43515 --- /dev/null +++ b/src/main/resources/templates/misc/unlock-pdf-forms.html @@ -0,0 +1,34 @@ + + + + + + + +
+
+ +

+
+
+ +
+
+ preview_off + +
+
+
+
+
+
+ +
+
+
+
+
+ +
+ +