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

@@ -0,0 +1,22 @@
export type PageLabelStyleName =
| 'DecimalArabic'
| 'LowercaseRoman'
| 'UppercaseRoman'
| 'LowercaseLetters'
| 'UppercaseLetters'
| 'NoLabelPrefixOnly';
export interface LabelRule {
id: string;
pageRange: string;
style: PageLabelStyleName;
prefix: string;
startValue: number;
progress: boolean;
}
export interface AddPageLabelsState {
file: File | null;
pageCount: number;
rules: LabelRule[];
}

View File

@@ -51,3 +51,4 @@ export * from './scanner-effect-type.ts';
export * from './adjust-colors-type.ts';
export * from './bates-numbering-type.ts';
export * from './page-preview-type.ts';
export * from './add-page-labels-type.ts';