feat: add "Add Page Labels" tool to the application

- Introduced a new tool for adding page labels to PDF documents, allowing users to apply Roman numerals, prefixes, and custom numbering ranges.
- Created a new HTML page for the tool with a user-friendly interface for file upload and label rule configuration.
- Implemented logic for handling file uploads, processing PDF files, and applying page labels based on user-defined rules.
- Added necessary types and utility functions for managing page label styles and normalization of start values.
- Updated main application configuration to include the new tool in the navigation.
- Added tests for page label utilities to ensure correct functionality.
This commit is contained in:
alam00000
2026-03-16 14:34:27 +05:30
parent 31f43b557f
commit 477839f106
27 changed files with 2318 additions and 0 deletions

View File

@@ -86,6 +86,65 @@
"name": "Paginanummers",
"subtitle": "Paginanummers aan een document toevoegen."
},
"addPageLabels": {
"name": "Paginelabels toevoegen",
"subtitle": "Pas PDF-paginalabels toe met Romeinse cijfers, voorvoegsels en aangepaste startwaarden.",
"uploadHint": "PDF-bestand",
"howLabelsWorkTitle": "Hoe labels werken",
"howLabelsWorkStep1": "Laat Paginabereik leeg om alle pagina's te labelen.",
"howLabelsWorkStep2": "Gebruik stijlen zoals Romeinse cijfers voor voorwerk en decimale nummering voor het hoofdgedeelte.",
"howLabelsWorkStep3": "Gebruik Voorvoegsel met Startwaarde 0 om labels zoals A-0, A-1 en A-2 te maken.",
"howLabelsWorkStep4": "Schakel voortgang in wanneer één regel een onderbroken bereik gebruikt, zoals 1-9,30-40 of oneven pagina's.",
"labelRulesTitle": "Labelregels",
"addRule": "Regel toevoegen",
"removeExistingLabels": "Bestaande paginalabels verwijderen voordat deze regels worden toegepast",
"cpdfNote": "Deze tool gebruikt CoherentPDF in je browser. Als CoherentPDF niet is geconfigureerd, word je gevraagd dit in te stellen in de WASM-instellingen.",
"processButton": "Paginelabels toevoegen",
"howItWorksUploadTitle": "Bestand uploaden",
"howItWorksUploadDescription": "Kies de PDF die je opnieuw wilt labelen.",
"howItWorksDefineTitle": "Regels definiëren",
"howItWorksDefineDescription": "Stel een of meer paginalabelregels in met paginabereiken, stijlen, voorvoegsels en startwaarden.",
"howItWorksDownloadTitle": "Downloaden",
"howItWorksDownloadDescription": "Sla de bijgewerkte PDF op met de nieuwe paginalabels.",
"relatedToolsTitle": "Gerelateerde PDF-tools",
"faqWhatIsQuestion": "Wat is een paginalabel?",
"faqWhatIsAnswer": "Een paginalabel is de nummering die PDF-lezers tonen in miniaturen, paginanavigatie en afdrukvensters. Er wordt geen nieuwe tekst op de pagina zelf afgedrukt.",
"faqMixQuestion": "Kan ik Romeinse cijfers en gewone nummers combineren?",
"faqMixAnswer": "Ja. Voeg meerdere regels toe, zoals 1-4 met LowercaseRoman en 5-20 met DecimalArabic.",
"faqPrivacyQuestion": "Blijven mijn bestanden privé?",
"faqPrivacyAnswer": "Ja. De verwerking gebeurt in je browser met CoherentPDF WASM. Je PDF verlaat je apparaat niet.",
"invalidFileTitle": "Ongeldig bestand",
"invalidFileMessage": "Upload een geldig PDF-bestand.",
"loadingPdf": "PDF laden...",
"protectedPdfTitle": "Beveiligde PDF",
"protectedPdfMessage": "Deze PDF is met een wachtwoord beveiligd. Gebruik eerst de tool Ontgrendelen of Machtigingen wijzigen.",
"loadErrorMessage": "Het PDF-bestand kon niet worden geladen. Het bestand is mogelijk ongeldig, beschadigd of met een wachtwoord beveiligd.",
"fileMeta": "{{size}} • {{count}} pagina's",
"ruleTitle": "Labelregel {{number}}",
"pageRangeLabel": "Paginabereik",
"pageRangePlaceholder": "Alle pagina's, of bijv. 1-4, 7, oneven",
"labelStyleLabel": "Labelstijl",
"labelPrefixLabel": "Labelvoorvoegsel",
"labelPrefixPlaceholder": "Optioneel voorvoegsel, bijv. A-",
"startValueLabel": "Startwaarde",
"continueNumbering": "Nummering voortzetten over onderbroken bereiken",
"examplesNote": "Voorbeelden: 1-4 voor voorwerk met Romeinse cijfers, 15-20 met voorvoegsel A- en startwaarde 0, of oneven pagina's met voortgang ingeschakeld.",
"uploadFirstMessage": "Upload eerst een PDF-bestand.",
"applyingLabels": "Paginelabels toepassen...",
"invalidRangeMessage": "Regel {{number}} heeft een ongeldig paginabereik: {{range}}",
"allPages": "alle pagina's",
"emptyOutputMessage": "CoherentPDF heeft een leeg bestand geproduceerd.",
"successMessage": "Paginelabels zijn succesvol toegevoegd!",
"processErrorMessage": "Kon de paginalabels niet toevoegen.",
"styleOptions": {
"DecimalArabic": "Decimale cijfers",
"LowercaseRoman": "Kleine Romeinse cijfers",
"UppercaseRoman": "Grote Romeinse cijfers",
"LowercaseLetters": "Kleine letters",
"UppercaseLetters": "Hoofdletters",
"NoLabelPrefixOnly": "Alleen voorvoegsel zonder nummer"
}
},
"batesNumbering": {
"name": "Bates-nummering",
"subtitle": "Opeenvolgende Bates-nummering toevoegen aan een of meer PDF-bestanden."