feat: add PDF manipulation tools including Protect, Rotate, Split, Unlock, and Watermark functionalities
- Implemented ProtectPdf component for adding password protection to PDFs. - Implemented RotatePdf component for rotating PDF pages by specified angles. - Implemented SplitPdf component for splitting PDFs into individual pages or specified ranges. - Implemented UnlockPdf component for removing password protection from PDFs. - Implemented WatermarkPdf component for adding custom text watermarks to PDFs. - Updated i18n files to include translations for new tools. - Enhanced HomePage to include links to new PDF tools. - Updated Nginx configuration to improve security with CSP and Permissions-Policy headers. - Updated sitemap generation script to include new tools.
This commit is contained in:
@@ -82,6 +82,92 @@
|
||||
"toSentenceCase": "حالة الجملة",
|
||||
"removeDiacritics": "إزالة التشكيل العربي",
|
||||
"copyResult": "نسخ النتيجة"
|
||||
},
|
||||
"mergePdf": {
|
||||
"title": "دمج PDF",
|
||||
"description": "ادمج عدة ملفات PDF في مستند واحد. مجاني وسريع.",
|
||||
"shortDesc": "دمج PDF",
|
||||
"selectFiles": "اختر ملفات PDF",
|
||||
"addMore": "أضف ملفات أخرى",
|
||||
"filesSelected": "{{count}} ملفات مختارة",
|
||||
"dragToReorder": "اسحب الملفات لإعادة ترتيبها"
|
||||
},
|
||||
"splitPdf": {
|
||||
"title": "تقسيم PDF",
|
||||
"description": "قسّم ملف PDF إلى صفحات فردية أو استخرج نطاقات صفحات محددة.",
|
||||
"shortDesc": "تقسيم PDF",
|
||||
"allPages": "كل الصفحات",
|
||||
"pageRange": "نطاق الصفحات",
|
||||
"rangeHint": "مثال: 1,3,5-8",
|
||||
"rangePlaceholder": "أدخل الصفحات: 1,3,5-8"
|
||||
},
|
||||
"rotatePdf": {
|
||||
"title": "تدوير PDF",
|
||||
"description": "دوّر جميع صفحات ملف PDF بزاوية 90° أو 180° أو 270° درجة.",
|
||||
"shortDesc": "تدوير PDF",
|
||||
"angle": "زاوية التدوير",
|
||||
"90": "90° مع عقارب الساعة",
|
||||
"180": "180° قلب",
|
||||
"270": "270° عكس عقارب الساعة"
|
||||
},
|
||||
"pdfToImages": {
|
||||
"title": "PDF إلى صور",
|
||||
"description": "حوّل كل صفحة من ملف PDF إلى صور عالية الجودة (PNG أو JPG).",
|
||||
"shortDesc": "PDF → صور",
|
||||
"format": "صيغة الصورة",
|
||||
"dpi": "الدقة (DPI)",
|
||||
"dpiLow": "72 — شاشة",
|
||||
"dpiMedium": "150 — قياسي",
|
||||
"dpiHigh": "200 — جيد",
|
||||
"dpiUltra": "300 — جودة طباعة"
|
||||
},
|
||||
"imagesToPdf": {
|
||||
"title": "صور إلى PDF",
|
||||
"description": "ادمج عدة صور في مستند PDF واحد.",
|
||||
"shortDesc": "صور → PDF",
|
||||
"selectImages": "اختر الصور",
|
||||
"addMore": "أضف صور أخرى",
|
||||
"imagesSelected": "{{count}} صور مختارة"
|
||||
},
|
||||
"watermarkPdf": {
|
||||
"title": "علامة مائية PDF",
|
||||
"description": "أضف علامة مائية نصية مخصصة لكل صفحة من ملف PDF.",
|
||||
"shortDesc": "إضافة علامة مائية",
|
||||
"text": "نص العلامة المائية",
|
||||
"textPlaceholder": "أدخل نص العلامة المائية",
|
||||
"opacity": "الشفافية",
|
||||
"light": "خفيف",
|
||||
"heavy": "كثيف"
|
||||
},
|
||||
"protectPdf": {
|
||||
"title": "حماية PDF",
|
||||
"description": "أضف حماية بكلمة مرور لملف PDF لمنع الوصول غير المصرّح به.",
|
||||
"shortDesc": "حماية PDF",
|
||||
"password": "كلمة المرور",
|
||||
"passwordPlaceholder": "أدخل كلمة مرور قوية",
|
||||
"confirmPassword": "تأكيد كلمة المرور",
|
||||
"confirmPlaceholder": "أعد إدخال كلمة المرور",
|
||||
"mismatch": "كلمات المرور غير متطابقة"
|
||||
},
|
||||
"unlockPdf": {
|
||||
"title": "فك حماية PDF",
|
||||
"description": "أزل حماية كلمة المرور من ملف PDF.",
|
||||
"shortDesc": "فك حماية PDF",
|
||||
"password": "كلمة المرور الحالية",
|
||||
"passwordPlaceholder": "أدخل كلمة مرور الملف"
|
||||
},
|
||||
"pageNumbers": {
|
||||
"title": "إضافة أرقام الصفحات",
|
||||
"description": "أضف أرقام الصفحات لكل صفحة في ملف PDF. اختر الموضع ورقم البداية.",
|
||||
"shortDesc": "أرقام الصفحات",
|
||||
"position": "موضع الرقم",
|
||||
"startNumber": "ابدأ من",
|
||||
"bottomCenter": "أسفل الوسط",
|
||||
"bottomRight": "أسفل اليمين",
|
||||
"bottomLeft": "أسفل اليسار",
|
||||
"topCenter": "أعلى الوسط",
|
||||
"topRight": "أعلى اليمين",
|
||||
"topLeft": "أعلى اليسار"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
|
||||
@@ -82,6 +82,92 @@
|
||||
"toSentenceCase": "Sentence case",
|
||||
"removeDiacritics": "Remove Arabic Diacritics",
|
||||
"copyResult": "Copy Result"
|
||||
},
|
||||
"mergePdf": {
|
||||
"title": "Merge PDF",
|
||||
"description": "Combine multiple PDF files into a single document. Free and fast.",
|
||||
"shortDesc": "Merge PDFs",
|
||||
"selectFiles": "Select PDF Files",
|
||||
"addMore": "Add More Files",
|
||||
"filesSelected": "{{count}} files selected",
|
||||
"dragToReorder": "Drag files to reorder them"
|
||||
},
|
||||
"splitPdf": {
|
||||
"title": "Split PDF",
|
||||
"description": "Split a PDF into individual pages or extract specific page ranges.",
|
||||
"shortDesc": "Split PDF",
|
||||
"allPages": "All Pages",
|
||||
"pageRange": "Page Range",
|
||||
"rangeHint": "e.g. 1,3,5-8",
|
||||
"rangePlaceholder": "Enter pages: 1,3,5-8"
|
||||
},
|
||||
"rotatePdf": {
|
||||
"title": "Rotate PDF",
|
||||
"description": "Rotate all pages of a PDF by 90°, 180°, or 270° degrees.",
|
||||
"shortDesc": "Rotate PDF",
|
||||
"angle": "Rotation Angle",
|
||||
"90": "90° Clockwise",
|
||||
"180": "180° Flip",
|
||||
"270": "270° Counter-clockwise"
|
||||
},
|
||||
"pdfToImages": {
|
||||
"title": "PDF to Images",
|
||||
"description": "Convert each page of a PDF into high-quality images (PNG or JPG).",
|
||||
"shortDesc": "PDF → Images",
|
||||
"format": "Image Format",
|
||||
"dpi": "Resolution (DPI)",
|
||||
"dpiLow": "72 — Screen",
|
||||
"dpiMedium": "150 — Standard",
|
||||
"dpiHigh": "200 — Good",
|
||||
"dpiUltra": "300 — Print Quality"
|
||||
},
|
||||
"imagesToPdf": {
|
||||
"title": "Images to PDF",
|
||||
"description": "Combine multiple images into a single PDF document.",
|
||||
"shortDesc": "Images → PDF",
|
||||
"selectImages": "Select Images",
|
||||
"addMore": "Add More Images",
|
||||
"imagesSelected": "{{count}} images selected"
|
||||
},
|
||||
"watermarkPdf": {
|
||||
"title": "Watermark PDF",
|
||||
"description": "Add a custom text watermark to every page of your PDF.",
|
||||
"shortDesc": "Add Watermark",
|
||||
"text": "Watermark Text",
|
||||
"textPlaceholder": "Enter watermark text",
|
||||
"opacity": "Opacity",
|
||||
"light": "Light",
|
||||
"heavy": "Heavy"
|
||||
},
|
||||
"protectPdf": {
|
||||
"title": "Protect PDF",
|
||||
"description": "Add password protection to your PDF to prevent unauthorized access.",
|
||||
"shortDesc": "Protect PDF",
|
||||
"password": "Password",
|
||||
"passwordPlaceholder": "Enter a strong password",
|
||||
"confirmPassword": "Confirm Password",
|
||||
"confirmPlaceholder": "Re-enter the password",
|
||||
"mismatch": "Passwords do not match"
|
||||
},
|
||||
"unlockPdf": {
|
||||
"title": "Unlock PDF",
|
||||
"description": "Remove password protection from your PDF file.",
|
||||
"shortDesc": "Unlock PDF",
|
||||
"password": "Current Password",
|
||||
"passwordPlaceholder": "Enter the PDF password"
|
||||
},
|
||||
"pageNumbers": {
|
||||
"title": "Add Page Numbers",
|
||||
"description": "Add page numbers to every page of your PDF. Choose position and starting number.",
|
||||
"shortDesc": "Add Page Numbers",
|
||||
"position": "Number Position",
|
||||
"startNumber": "Start From",
|
||||
"bottomCenter": "Bottom Center",
|
||||
"bottomRight": "Bottom Right",
|
||||
"bottomLeft": "Bottom Left",
|
||||
"topCenter": "Top Center",
|
||||
"topRight": "Top Right",
|
||||
"topLeft": "Top Left"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
|
||||
Reference in New Issue
Block a user