Merge branch 'main' into test

This commit is contained in:
Anthony Stirling 2023-12-29 20:48:27 +00:00 committed by GitHub
commit 3041e80c37
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 2107 additions and 239 deletions

2
.github/CODEOWNERS vendored Normal file
View file

@ -0,0 +1,2 @@
# All PRs to V1 must be approved by Frooodle
* @Frooodle

6
.gitignore vendored
View file

@ -120,4 +120,8 @@ watchedFolders/
/build /build
/.vscode /.vscode
/.idea /.idea
# Ignore Mac DS_Store files
.DS_Store
**/.DS_Store

View file

@ -44,4 +44,4 @@ EXPOSE 8080
# Set user and run command # Set user and run command
##USER stirlingpdfuser ##USER stirlingpdfuser
ENTRYPOINT ["/scripts/init.sh"] ENTRYPOINT ["/scripts/init.sh"]
CMD ["java", "-jar", "/app.jar"] CMD ["java", "-Dfile.encoding=UTF-8", "-jar", "/app.jar"]

View file

@ -62,4 +62,4 @@ ENV DOCKER_ENABLE_SECURITY=false
# Run the application # Run the application
#USER stirlingpdfuser #USER stirlingpdfuser
ENTRYPOINT ["/scripts/init-without-ocr.sh"] ENTRYPOINT ["/scripts/init-without-ocr.sh"]
CMD ["java", "-jar", "/app.jar"] CMD ["java", "-Dfile.encoding=UTF-8", "-jar", "/app.jar"]

View file

@ -43,4 +43,4 @@ ENV ENDPOINTS_GROUPS_TO_REMOVE=CLI
ENTRYPOINT ["/scripts/init-without-ocr.sh"] ENTRYPOINT ["/scripts/init-without-ocr.sh"]
# Run the application # Run the application
CMD ["java", "-jar", "/app.jar"] CMD ["java", "-Dfile.encoding=UTF-8", "-jar", "/app.jar"]

View file

@ -20,7 +20,7 @@ Install the following software, if not already installed:
- Git - Git
- Python 3 (with pip) - Python 3.8 (with pip)
- Make - Make
@ -95,14 +95,14 @@ For Debian-based systems, you can use the following command:
```bash ```bash
sudo apt-get install -y libreoffice-writer libreoffice-calc libreoffice-impress unpaper ocrmypdf sudo apt-get install -y libreoffice-writer libreoffice-calc libreoffice-impress unpaper ocrmypdf
pip3 install uno opencv-python-headless unoconv pngquant pip3 install uno opencv-python-headless unoconv pngquant WeasyPrint
``` ```
For Fedora: For Fedora:
```bash ```bash
sudo dnf install -y libreoffice-writer libreoffice-calc libreoffice-impress unpaper ocrmypdf sudo dnf install -y libreoffice-writer libreoffice-calc libreoffice-impress unpaper ocrmypdf
pip3 install uno opencv-python-headless unoconv pngquant pip3 install uno opencv-python-headless unoconv pngquant WeasyPrint
``` ```
### Step 4: Clone and Build Stirling-PDF ### Step 4: Clone and Build Stirling-PDF
@ -176,7 +176,7 @@ rpm -qa | grep tesseract-langpack | sed 's/tesseract-langpack-//g'
```bash ```bash
./gradlew bootRun ./gradlew bootRun
or or
java -jar build/libs/app.jar java -jar /opt/Stirling-PDF/Stirling-PDF-*.jar
``` ```
### Step 8: Adding a Desktop icon ### Step 8: Adding a Desktop icon
@ -202,6 +202,64 @@ EOF
Note: Currently the app will run in the background until manually closed. Note: Currently the app will run in the background until manually closed.
### Optional: Run Stirling-PDF as a service
First create a .env file, where you can store environment variables:
```
touch /opt/Stirling-PDF/.env
```
In this file you can add all variables, one variable per line, as stated in the main readme (for example SYSTEM_DEFAULTLOCALE="de-DE").
Create a new file where we store our service settings and open it with nano editor:
```
nano /etc/systemd/system/stirlingpdf.service
```
Paste this content, make sure to update the filename of the jar-file. Press Ctrl+S and Ctrl+X to save and exit the nano editor:
```
[Unit]
Description=Stirling-PDF service
After=syslog.target network.target
[Service]
SuccessExitStatus=143
User=root
Group=root
Type=simple
EnvironmentFile=/opt/Stirling-PDF/.env
WorkingDirectory=/opt/Stirling-PDF
ExecStart=/usr/bin/java -jar Stirling-PDF-0.17.2.jar
ExecStop=/bin/kill -15 $MAINPID
[Install]
WantedBy=multi-user.target
```
Notify systemd that it has to rebuild its internal service database (you have to run this command every time you make a change in the service file):
```
sudo systemctl daemon-reload
```
Enable the service to tell the service to start it automatically:
```
sudo systemctl enable stirlingpdf.service
```
See the status of the service:
```
sudo systemctl status stirlingpdf.service
```
Manually start/stop/restart the service:
```
sudo systemctl start stirlingpdf.service
sudo systemctl stop stirlingpdf.service
sudo systemctl restart stirlingpdf.service
```
--- ---
Remember to set the necessary environment variables before running the project if you want to customize the application the list can be seen in the main readme. Remember to set the necessary environment variables before running the project if you want to customize the application the list can be seen in the main readme.

View file

@ -14,10 +14,9 @@ This is a powerful locally hosted web based PDF manipulation tool using docker t
Stirling PDF makes no outbound calls for any record keeping or tracking. Stirling PDF makes no outbound calls for any record keeping or tracking.
All files and PDFs are either purely client side, in server memory only during the execution of the task or within a temporay file only for execution of the task. All files and PDFs exist either exclusively on the client side, reside in server memory only during task execution, or temporarily reside in a file solely for the execution of the task. Any file downloaded by the user will have been deleted from the server by that point.
Any file which has been downloaded by the user will have already been deleted from the server by that time.
Feel free to request any features or bug fixes either in github issues or our [Discord](https://discord.gg/Cn8pWhQRxZ) Please feel free to submit feature requests or report bugs either through GitHub issues or on our [Discord](https://discord.gg/Cn8pWhQRxZ)
![stirling-home](images/stirling-home.png) ![stirling-home](images/stirling-home.png)
@ -148,7 +147,7 @@ Note: Podman is CLI-compatible with Docker, so simply replace "docker" with "pod
Please view https://github.com/Frooodle/Stirling-PDF/blob/main/HowToUseOCR.md Please view https://github.com/Frooodle/Stirling-PDF/blob/main/HowToUseOCR.md
## Want to add your own language? ## Want to add your own language?
Stirling PDF currently supports 20! Stirling PDF currently supports 21!
- English (English) (en_GB) - English (English) (en_GB)
- English (US) (en_US) - English (US) (en_US)
- Arabic (العربية) (ar_AR) - Arabic (العربية) (ar_AR)
@ -169,6 +168,8 @@ Stirling PDF currently supports 20!
- Dutch (Nederlands) (nl_NL) - Dutch (Nederlands) (nl_NL)
- Greek (el_GR) - Greek (el_GR)
- Turkish (Türkçe) (tr_TR) - Turkish (Türkçe) (tr_TR)
- Indonesia (Bahasa Indonesia) (id_ID)
- Hindi (हिंदी) (hi_IN)
If you want to add your own language to Stirling-PDF please refer If you want to add your own language to Stirling-PDF please refer
https://github.com/Frooodle/Stirling-PDF/blob/main/HowToAddNewLanguage.md https://github.com/Frooodle/Stirling-PDF/blob/main/HowToAddNewLanguage.md
@ -267,7 +268,7 @@ For API usage you must provide a header with 'X-API-Key' and the associated API
- Fill forms mannual and automatic - Fill forms mannual and automatic
### Q2: Why is my application downloading .htm files? ### Q2: Why is my application downloading .htm files?
This is a issue caused commonly by your NGINX congifuration. The default file upload size for NGINX is 1MB, you need to add the following in your Nginx sites-available file. ``client_max_body_size SIZE;`` Where "SIZE" is 50M for example for 50MB files. This is an issue caused commonly by your NGINX configuration. The default file upload size for NGINX is 1MB, you need to add the following in your Nginx sites-available file. ``client_max_body_size SIZE;`` Where "SIZE" is 50M for example for 50MB files.
### Q3: Why is my download timing out ### Q3: Why is my download timing out
NGINX has timeout values by default so if you are running Stirling-PDF behind NGINX you may need to set a timeout value such as adding the config ``proxy_read_timeout 3600;`` NGINX has timeout values by default so if you are running Stirling-PDF behind NGINX you may need to set a timeout value such as adding the config ``proxy_read_timeout 3600;``

View file

@ -1,10 +1,11 @@
import cv2 import cv2
import sys import sys
import argparse import argparse
import numpy as np
def is_blank_image(image_path, threshold=10, white_percent=99, white_value=255, blur_size=5): def is_blank_image(image_path, threshold=10, white_percent=99, white_value=255, blur_size=5):
image = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE) image = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
if image is None: if image is None:
print(f"Error: Unable to read the image file: {image_path}") print(f"Error: Unable to read the image file: {image_path}")
return False return False
@ -15,19 +16,11 @@ def is_blank_image(image_path, threshold=10, white_percent=99, white_value=255,
_, thresholded_image = cv2.threshold(blurred_image, white_value - threshold, white_value, cv2.THRESH_BINARY) _, thresholded_image = cv2.threshold(blurred_image, white_value - threshold, white_value, cv2.THRESH_BINARY)
# Calculate the percentage of white pixels in the thresholded image # Calculate the percentage of white pixels in the thresholded image
white_pixels = 0 white_pixels = np.sum(thresholded_image == white_value)
total_pixels = thresholded_image.size white_pixel_percentage = (white_pixels / thresholded_image.size) * 100
for i in range(0, thresholded_image.shape[0], 2):
for j in range(0, thresholded_image.shape[1], 2):
if thresholded_image[i, j] == white_value:
white_pixels += 1
white_pixel_percentage = (white_pixels / (i * thresholded_image.shape[1] + j + 1)) * 100
if white_pixel_percentage < white_percent:
return False
print(f"Page has white pixel percent of {white_pixel_percentage}") print(f"Page has white pixel percent of {white_pixel_percentage}")
return True return white_pixel_percentage >= white_percent
if __name__ == "__main__": if __name__ == "__main__":
@ -39,9 +32,6 @@ if __name__ == "__main__":
blank = is_blank_image(args.image_path, args.threshold, args.white_percent) blank = is_blank_image(args.image_path, args.threshold, args.white_percent)
if blank: # Return code 1: The image is considered blank.
# Return code 1: The image is considered blank. # Return code 0: The image is not considered blank.
sys.exit(1) sys.exit(int(blank))
else:
# Return code 0: The image is not considered blank.
sys.exit(0)

View file

@ -1,15 +1,9 @@
package stirling.software.SPDF.controller.api; package stirling.software.SPDF.controller.api;
import java.io.IOException; import io.swagger.v3.oas.annotations.Operation;
import java.io.InputStream; import io.swagger.v3.oas.annotations.tags.Tag;
import java.nio.file.Files; import org.apache.pdfbox.io.MemoryUsageSetting;
import java.nio.file.Paths; import org.apache.pdfbox.multipdf.PDFMergerUtility;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.PDPage;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -20,12 +14,19 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import stirling.software.SPDF.model.api.general.MergePdfsRequest; import stirling.software.SPDF.model.api.general.MergePdfsRequest;
import stirling.software.SPDF.utils.WebResponseUtils; import stirling.software.SPDF.utils.WebResponseUtils;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
@RestController @RestController
@RequestMapping("/api/v1/general") @RequestMapping("/api/v1/general")
@Tag(name = "General", description = "General APIs") @Tag(name = "General", description = "General APIs")
@ -34,82 +35,80 @@ public class MergeController {
private static final Logger logger = LoggerFactory.getLogger(MergeController.class); private static final Logger logger = LoggerFactory.getLogger(MergeController.class);
private PDDocument mergeDocuments(List<PDDocument> documents) throws IOException { private PDDocument mergeDocuments(List<PDDocument> documents) throws IOException {
PDDocument mergedDoc = new PDDocument(); PDDocument mergedDoc = new PDDocument();
for (PDDocument doc : documents) {
for (PDPage page : doc.getPages()) {
mergedDoc.addPage(page);
}
}
return mergedDoc;
}
private Comparator<MultipartFile> getSortComparator(String sortType) {
switch (sortType) {
case "byFileName":
return Comparator.comparing(MultipartFile::getOriginalFilename);
case "byDateModified":
return (file1, file2) -> {
try {
BasicFileAttributes attr1 = Files.readAttributes(Paths.get(file1.getOriginalFilename()), BasicFileAttributes.class);
BasicFileAttributes attr2 = Files.readAttributes(Paths.get(file2.getOriginalFilename()), BasicFileAttributes.class);
return attr1.lastModifiedTime().compareTo(attr2.lastModifiedTime());
} catch (IOException e) {
return 0; // If there's an error, treat them as equal
}
};
case "byDateCreated":
return (file1, file2) -> {
try {
BasicFileAttributes attr1 = Files.readAttributes(Paths.get(file1.getOriginalFilename()), BasicFileAttributes.class);
BasicFileAttributes attr2 = Files.readAttributes(Paths.get(file2.getOriginalFilename()), BasicFileAttributes.class);
return attr1.creationTime().compareTo(attr2.creationTime());
} catch (IOException e) {
return 0; // If there's an error, treat them as equal
}
};
case "byPDFTitle":
return (file1, file2) -> {
try (PDDocument doc1 = PDDocument.load(file1.getInputStream());
PDDocument doc2 = PDDocument.load(file2.getInputStream())) {
String title1 = doc1.getDocumentInformation().getTitle();
String title2 = doc2.getDocumentInformation().getTitle();
return title1.compareTo(title2);
} catch (IOException e) {
return 0;
}
};
case "orderProvided":
default:
return (file1, file2) -> 0; // Default is the order provided
}
}
@PostMapping(consumes = "multipart/form-data", value = "/merge-pdfs")
@Operation(summary = "Merge multiple PDF files into one",
description = "This endpoint merges multiple PDF files into a single PDF file. The merged file will contain all pages from the input files in the order they were provided. Input:PDF Output:PDF Type:MISO")
public ResponseEntity<byte[]> mergePdfs(@ModelAttribute MergePdfsRequest form) throws IOException {
MultipartFile[] files = form.getFileInput();
Arrays.sort(files, getSortComparator(form.getSortType()));
List<PDDocument> documents = new ArrayList<>();
for (MultipartFile file : files) {
try (InputStream is = file.getInputStream()) {
documents.add(PDDocument.load(is));
}
}
try (PDDocument mergedDoc = mergeDocuments(documents)) {
ResponseEntity<byte[]> response = WebResponseUtils.pdfDocToWebResponse(mergedDoc, files[0].getOriginalFilename().replaceFirst("[.][^.]+$", "") + "_merged.pdf");
return response;
} finally {
for (PDDocument doc : documents) { for (PDDocument doc : documents) {
if (doc != null) { for (PDPage page : doc.getPages()) {
doc.close(); mergedDoc.addPage(page);
} }
} }
return mergedDoc;
}
private Comparator<MultipartFile> getSortComparator(String sortType) {
switch (sortType) {
case "byFileName":
return Comparator.comparing(MultipartFile::getOriginalFilename);
case "byDateModified":
return (file1, file2) -> {
try {
BasicFileAttributes attr1 = Files.readAttributes(Paths.get(file1.getOriginalFilename()), BasicFileAttributes.class);
BasicFileAttributes attr2 = Files.readAttributes(Paths.get(file2.getOriginalFilename()), BasicFileAttributes.class);
return attr1.lastModifiedTime().compareTo(attr2.lastModifiedTime());
} catch (IOException e) {
return 0; // If there's an error, treat them as equal
}
};
case "byDateCreated":
return (file1, file2) -> {
try {
BasicFileAttributes attr1 = Files.readAttributes(Paths.get(file1.getOriginalFilename()), BasicFileAttributes.class);
BasicFileAttributes attr2 = Files.readAttributes(Paths.get(file2.getOriginalFilename()), BasicFileAttributes.class);
return attr1.creationTime().compareTo(attr2.creationTime());
} catch (IOException e) {
return 0; // If there's an error, treat them as equal
}
};
case "byPDFTitle":
return (file1, file2) -> {
try (PDDocument doc1 = PDDocument.load(file1.getInputStream());
PDDocument doc2 = PDDocument.load(file2.getInputStream())) {
String title1 = doc1.getDocumentInformation().getTitle();
String title2 = doc2.getDocumentInformation().getTitle();
return title1.compareTo(title2);
} catch (IOException e) {
return 0;
}
};
case "orderProvided":
default:
return (file1, file2) -> 0; // Default is the order provided
}
}
@PostMapping(consumes = "multipart/form-data", value = "/merge-pdfs")
@Operation(summary = "Merge multiple PDF files into one",
description = "This endpoint merges multiple PDF files into a single PDF file. The merged file will contain all pages from the input files in the order they were provided. Input:PDF Output:PDF Type:MISO")
public ResponseEntity<byte[]> mergePdfs(@ModelAttribute MergePdfsRequest form) throws IOException {
try {
MultipartFile[] files = form.getFileInput();
Arrays.sort(files, getSortComparator(form.getSortType()));
PDFMergerUtility mergedDoc = new PDFMergerUtility();
ByteArrayOutputStream docOutputstream = new ByteArrayOutputStream();
for (MultipartFile file : files) {
mergedDoc.addSource(new ByteArrayInputStream(file.getBytes()));
}
mergedDoc.setDestinationFileName(files[0].getOriginalFilename().replaceFirst("[.][^.]+$", "") + "_merged.pdf");
mergedDoc.setDestinationStream(docOutputstream);
mergedDoc.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
return WebResponseUtils.bytesToWebResponse(docOutputstream.toByteArray(), mergedDoc.getDestinationFileName());
} catch (Exception ex) {
logger.error("Error in merge pdf process", ex);
throw ex;
}
} }
} }
}

View file

@ -198,12 +198,6 @@ public class PdfUtils {
try (PDDocument document = PDDocument.load(new ByteArrayInputStream(inputStream))) { try (PDDocument document = PDDocument.load(new ByteArrayInputStream(inputStream))) {
PDFRenderer pdfRenderer = new PDFRenderer(document); PDFRenderer pdfRenderer = new PDFRenderer(document);
int pageCount = document.getNumberOfPages(); int pageCount = document.getNumberOfPages();
List<BufferedImage> images = new ArrayList<>();
// Create images of all pages
for (int i = 0; i < pageCount; i++) {
images.add(pdfRenderer.renderImageWithDPI(i, DPI, colorType));
}
// Create a ByteArrayOutputStream to save the image(s) to // Create a ByteArrayOutputStream to save the image(s) to
ByteArrayOutputStream baos = new ByteArrayOutputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream();
@ -221,8 +215,8 @@ public class PdfUtils {
writer.setOutput(ios); writer.setOutput(ios);
writer.prepareWriteSequence(null); writer.prepareWriteSequence(null);
for (int i = 0; i < images.size(); ++i) { for (int i = 0; i < pageCount; ++i) {
BufferedImage image = images.get(i); BufferedImage image = pdfRenderer.renderImageWithDPI(i, DPI, colorType);
writer.writeToSequence(new IIOImage(image, null, null), param); writer.writeToSequence(new IIOImage(image, null, null), param);
} }
@ -232,11 +226,15 @@ public class PdfUtils {
writer.dispose(); writer.dispose();
} else { } else {
// Combine all images into a single big image // Combine all images into a single big image
BufferedImage combined = new BufferedImage(images.get(0).getWidth(), images.get(0).getHeight() * pageCount, BufferedImage.TYPE_INT_RGB); BufferedImage image = pdfRenderer.renderImageWithDPI(0, DPI, colorType);
BufferedImage combined = new BufferedImage(image.getWidth(), image.getHeight() * pageCount, BufferedImage.TYPE_INT_RGB);
Graphics g = combined.getGraphics(); Graphics g = combined.getGraphics();
for (int i = 0; i < images.size(); i++) { for (int i = 0; i < pageCount; ++i) {
g.drawImage(images.get(i), 0, i * images.get(0).getHeight(), null); if (i != 0) {
image = pdfRenderer.renderImageWithDPI(i, DPI, colorType);
}
g.drawImage(image, 0, i * image.getHeight(), null);
} }
// Write the image to the output stream // Write the image to the output stream
@ -248,8 +246,8 @@ public class PdfUtils {
} else { } else {
// Zip the images and return as byte array // Zip the images and return as byte array
try (ZipOutputStream zos = new ZipOutputStream(baos)) { try (ZipOutputStream zos = new ZipOutputStream(baos)) {
for (int i = 0; i < images.size(); i++) { for (int i = 0; i < pageCount; ++i) {
BufferedImage image = images.get(i); BufferedImage image = pdfRenderer.renderImageWithDPI(i, DPI, colorType);
try (ByteArrayOutputStream baosImage = new ByteArrayOutputStream()) { try (ByteArrayOutputStream baosImage = new ByteArrayOutputStream()) {
ImageIO.write(image, imageType, baosImage); ImageIO.write(image, imageType, baosImage);

View file

@ -0,0 +1,891 @@
###########
# Generic #
###########
# the direction that the language is written (ltr = left to right, rtl = right to left)
language.direction=ltr
pdfPrompt=पीडीएफ़(फ़ाइलें) चुनें
multiPdfPrompt=पीडीएफ़(फ़ाइलें) चुनें (2+)
multiPdfDropPrompt=सभी पीडीएफ़(फ़ाइलें) को चुनें (या खींचें और छोड़ें)
imgPrompt=छवियों का चयन करें
genericSubmit=प्रस्तुत करें
processTimeWarning=चेतावनी: यह प्रक्रिया फ़ाइल के आकार पर निर्भर करती है और यह से एक मिनट तक लग सकती है
pageOrderPrompt=कस्टम पेज क्रम (पेज नंबरों या 2n+1 जैसे कार्यों की एक कॉमा से अलग-अलग सूची दर्ज करें):
goToPage=जाएँ
true=सही
false=गलत
unknown=अज्ञात
save=सहेजें
close=बंद करें
filesSelected=फ़ाइलें चयनित हैं
noFavourites=कोई पसंदीदा जोड़ा नहीं गया है
bored=बोर हो रहे हैं?
alphabet=वर्णमाला
downloadPdf=पीडीएफ़ डाउनलोड करें
text=टेक्स्ट
font=फ़ॉन्ट
selectFillter=-- चुनें --
pageNum=पृष्ठ संख्या
sizes.small=छोटा
sizes.medium=मध्यम
sizes.large=बड़ा
sizes.x-large=बहुत बड़ा
error.pdfPassword=पीडीएफ़ दस्तावेज़ पासवर्ड से सुरक्षित है और या तो पासवर्ड नहीं दिया गया था या गलत था
delete=हटाएँ
username=उपयोगकर्ता नाम
password=पासवर्ड
welcome=स्वागत है
property=संपत्ति
black=काला
white=सफ़ेद
red=लाल
green=हरा
blue=नीला
custom=कस्टम...
changedCredsMessage=क्रेडेंशियल्स बदल दी गईं!
notAuthenticatedMessage=उपयोगकर्ता प्रमाणित नहीं है।
userNotFoundMessage=उपयोगकर्ता नहीं मिला।
incorrectPasswordMessage=वर्तमान पासवर्ड गलत है।
usernameExistsMessage=नया उपयोगकर्ता नाम पहले से मौजूद है।
#############
# NAVBAR #
#############
navbar.convert=कनवर्ट
navbar.security=सुरक्षा
navbar.other=विविध
navbar.darkmode=डार्क मोड
navbar.pageOps=पेज कार्य
navbar.settings=सेटिंग्स
#############
# SETTINGS #
#############
settings.title=सेटिंग्स
settings.update=अपडेट उपलब्ध है
settings.appVersion=ऐप संस्करण:
settings.downloadOption.title=डाउनलोड विकल्प चुनें (एकल फ़ाइल गैर-ज़िप डाउनलोड के लिए):
settings.downloadOption.1=एक ही विंडो में खोलें
settings.downloadOption.2=नई विंडो में खोलें
settings.downloadOption.3=फ़ाइल डाउनलोड करें
settings.zipThreshold=जब डाउनलोड की गई फ़ाइलों की संख्या सीमा से अधिक हो
settings.signOut=साइन आउट
settings.accountSettings=खाता सेटिंग्स
changeCreds.title=क्रेडेंशियल बदलें
changeCreds.header=अपना खाता विवरण अपडेट करें
changeCreds.changeUserAndPassword=आप डिफ़ॉल्ट लॉगिन क्रेडेंशियल का उपयोग कर रहे हैं। कृपया एक नया पासवर्ड दर्ज करें (और यदि चाहें तो उपयोगकर्ता नाम)
changeCreds.newUsername=नया उपयोगकर्ता नाम
changeCreds.oldPassword=वर्तमान पासवर्ड
changeCreds.newPassword=नया पासवर्ड
changeCreds.confirmNewPassword=नए पासवर्ड की पुष्टि करें
changeCreds.submit=परिवर्तन सबमिट करें
account.title=खाता सेटिंग्स
account.accountSettings=खाता सेटिंग्स
account.adminSettings=व्यवस्थापक सेटिंग्स - उपयोगकर्ताओं को देखें और जोड़ें
account.userControlSettings=उपयोगकर्ता नियंत्रण सेटिंग्स
account.changeUsername=नया उपयोगकर्ता नाम
account.changeUsername=उपयोगकर्ता नाम परिवर्तन करें
account.password=पासवर्ड पुष्टि
account.oldPassword=पुराना पासवर्ड
account.newPassword=नया पासवर्ड
account.changePassword=पासवर्ड बदलें
account.confirmNewPassword=नए पासवर्ड की पुष्टि करें
account.signOut=साइन आउट
account.yourApiKey=आपकी API कुंजी
account.syncTitle=अकाउंट से ब्राउज़र सेटिंग्स को सिंक करें
account.settingsCompare=सेटिंग्स तुलना:
account.property=संपत्ति
account.webBrowserSettings=वेब ब्राउज़र सेटिंग्स
account.syncToBrowser=सिंक अकाउंट -> ब्राउज़र
account.syncToAccount=सिंक अकाउंट <- ब्राउज़र
adminUserSettings.title=उपयोगकर्ता नियंत्रण सेटिंग्स
adminUserSettings.header=व्यवस्थापक उपयोगकर्ता नियंत्रण सेटिंग्स
adminUserSettings.admin=व्यवस्थापक
adminUserSettings.user=उपयोगकर्ता
adminUserSettings.addUser=नया उपयोगकर्ता जोड़ें
adminUserSettings.roles=रोल्स
adminUserSettings.role=रोल
adminUserSettings.actions=क्रियाएँ
adminUserSettings.apiUser=सीमित API उपयोगकर्ता
adminUserSettings.webOnlyUser=केवल वेब उपयोगकर्ता
adminUserSettings.forceChange=उपयोगकर्ता को लॉगिन पर उपयोगकर्ता नाम/पासवर्ड बदलने के लिए मजबूर करें
adminUserSettings.submit=उपयोगकर्ता को सहेजें
#############
# HOME-PAGE #
#############
home.desc=आपकी स्थानीय होस्ट की एक स्थानीय सेवा जहां आपकी सभी पीडीएफ़ आवश्यकताओं के लिए है।
home.searchBar=विशेषताओं की खोज करें...
home.viewPdf.title=पीडीएफ़ देखें
home.viewPdf.desc=देखें, टिप्पणी करें, पाठ या छवियों को जोड़ें
viewPdf.tags=देखें, पढ़ें, टिप्पणी, पाठ, छवि
home.multiTool.title=पीडीएफ़ मल्टी टूल
home.multiTool.desc=पृष्ठ जोड़ें, घुमाएं, व्यवस्थित करें, और हटाएं
multiTool.tags=मल्टी टूल, मल्टी ऑपरेशन, यूआई, क्लिक और खींचें, फ्रंट एंड, क्लाइंट साइड, इंटरैक्टिव, हिलनेवाला
home.merge.title=मर्ज
home.merge.desc=आसानी से कई पीडीएफ़ को एक में मर्ज करें।
merge.tags=मर्ज, पेज कार्य, बैक एंड, सर्वर साइड
home.split.title=विभाजन
home.split.desc=पीडीएफ़ को कई दस्तावेज़ों में विभाजित करें
split.tags=पेज कार्य, विभाजित करें, मल्टी पेज, कट, सर्वर साइड
home.rotate.title=रोटेट
home.rotate.desc=आसानी से अपने पीडीएफ़ को घुमाएँ।
rotate.tags=सर्वर साइड
home.imageToPdf.title=छवि से पीडीएफ़ तक
home.imageToPdf.desc=छवि (PNG, JPEG, GIF) को पीडीएफ़ में बदलें।
imageToPdf.tags=परिवर्तन, छवि, jpg, चित्र, फोटो
home.pdfToImage.title=पीडीएफ़ से छवि तक
home.pdfToImage.desc=पीडीएफ़ को छवि में बदलें। (PNG, JPEG, GIF)
pdfToImage.tags=परिवर्तन, छवि, jpg, चित्र, फोटो
home.pdfOrganiser.title=संगठन करें
home.pdfOrganiser.desc=किसी भी क्रम में पृष्ठ हटाएं/पुनःव्यवस्थित करें
pdfOrganiser.tags=डुप्लेक्स, सम, विषम, क्रमबद्ध करें, विस्थापित
home.addImage.title=छवि जोड़ें
home.addImage.desc=पीडीएफ़ पर एक छवि को एक सेट स्थान पर जोड़ता है।
addImage.tags=छवि, jpg, चित्र, फोटो
home.watermark.title=वॉटरमार्क जोड़ें
home.watermark.desc=अपने पीडीएफ़ दस्तावेज़ में एक कस्टम वॉटरमार्क जोड़ें।
watermark.tags=पाठ, बार-बार, लेबल, अपना, कॉपीराइट, ट्रेडमार्क, छवि, jpg, चित्र, फोटो
home.permissions.title=अनुमतियाँ बदलें
home.permissions.desc=अपने पीडीएफ़ दस्तावेज़ की अनुमतियाँ बदलें
permissions.tags=पढ़ें, लिखें, संपादित करें, प्रिंट
home.removePages.title=हटाएं
home.removePages.desc=अपने पीडीएफ़ दस्तावेज़ से अनचाहे पृष्ठों को हटाएं।
removePages.tags=पृष्ठ हटाएं, पृष्ठ मिटाएं
home.addPassword.title=पासवर्ड जोड़ें
home.addPassword.desc=अपने पीडीएफ़ दस्तावेज़ को एक पासवर्ड से एन्क्रिप्ट करें।
addPassword.tags=सुरक्षित, सुरक्षा
home.removePassword.title=पासवर्ड हटाएं
home.removePassword.desc=अपने पीडीएफ़ दस्तावेज़ से पासवर्ड सुरक्षा को हटाएं।
removePassword.tags=सुरक्षित, डिक्रिप्ट, सुरक्षा, पासवर्ड हटाएं, पासवर्ड मिटाएं
home.compressPdfs.title=संकुचित करें (कम्प्रेस)
home.compressPdfs.desc=फ़ाइल का आकार कम करने के लिए PDF को कम्प्रेस करें।
compressPdfs.tags=स्क्विश, छोटा, छोटा
home.changeMetadata.title=मेटाडेटा बदलें
home.changeMetadata.desc=PDF दस्तावेज़ से मेटाडेटा बदलें/हटाएं/जोड़ें।
changeMetadata.tags=शीर्षक, लेखक, तारीख, निर्माण, समय, प्रकाशक, उत्पादक, आँकड़े
home.fileToPDF.title=फ़ाइल को पीडीएफ़ में रूपांतरित करें
home.fileToPDF.desc=लगभग किसी भी फ़ाइल को पीडीएफ़ में रूपांतरित करें (DOCX, PNG, XLS, PPT, TXT और अधिक)
fileToPDF.tags=परिवर्तन, प्रारूप, दस्तावेज़, चित्र, स्लाइड, पाठ, परिवर्तन, ऑफिस, डॉक्स, वर्ड, एक्सेल, पावरपॉइंट
home.ocr.title=OCR / स्कैन को साफ करें
home.ocr.desc=स्कैन को साफ करता है और पीडीएफ़ में छवियों से पाठ को पहचानता है और टेक्स्ट के रूप में फिर से जोड़ता है।
ocr.tags=पहचान, टेक्स्ट, छवि, स्कैन, पढ़ें, पहचान, पता लगाना, संपादनीय
home.extractImages.title=छवियां निकालें
home.extractImages.desc=पीडीएफ़ से सभी छवियों को निकालता है और उन्हें ज़िप में सहेजता है
extractImages.tags=चित्र, फोटो, सहेजें, संग्रह, ज़िप, कैप्चर, ग्रैब
home.pdfToPDFA.title=PDF से PDF/A में
home.pdfToPDFA.desc=लंबे समय के लिए स्टोरेज के लिए पीडीएफ़ को पीडीएफ़/ए में रूपांतरित करें
pdfToPDFA.tags=संग्रह, लंबे समय के लिए, मानक, परिवर्तन, स्टोरेज, संरक्षण
home.PDFToWord.title=PDF से वर्ड में
home.PDFToWord.desc=PDF को वर्ड प्रारूपों में रूपांतरित करें (DOC, DOCX और ODT)
PDFToWord.tags=doc,docx,odt,word,परिवर्तन,प्रारूप,रूपांतरण,ऑफिस,माइक्रोसॉफ्ट,डॉक फ़ाइल
home.PDFToPresentation.title=PDF से प्रस्तुति में
home.PDFToPresentation.desc=PDF को प्रस्तुति प्रारूपों में रूपांतरित करें (PPT, PPTX और ODP)
PDFToPresentation.tags=स्लाइड,दिखाना,ऑफिस,माइक्रोसॉफ्ट
home.PDFToText.title=PDF से RTF (पाठ) में
home.PDFToText.desc=PDF को पाठ या RTF प्रारूप में रूपांतरित करें
PDFToText.tags=रिचफॉर्मेट, रिचटेक्स्टफॉर्मेट, रिच टेक्स्ट फॉर्मेट
home.PDFToHTML.title=PDF से HTML में
home.PDFToHTML.desc=PDF को HTML प्रारूप में रूपांतरित करें
PDFToHTML.tags=वेब सामग्री, ब्राउज़र अनुकूल
home.PDFToXML.title=PDF से XML में
home.PDFToXML.desc=PDF को XML प्रारूप में रूपांतरित करें
PDFToXML.tags=डेटा-निकालन, संरचित सामग्री, अंतरसंवाद, परिवर्तन, रूपांतरण
home.ScannerImageSplit.title=स्कैन की गई फोटो का पता लगाएं/विभाजित करें
home.ScannerImageSplit.desc=एक फोटो/PDF के भीतर से कई फोटो को विभाजित करता है
ScannerImageSplit.tags=अलग, ऑटो-डिटेक्ट, स्कैन, मल्टी-फोटो, संगठित
home.sign.title=हस्ताक्षर
home.sign.desc=हस्ताक्षर को ड्राइंग, पाठ या छवि के रूप में पीडीएफ़ में जोड़ता है।
sign.tags=अधिकृत करें, आदेश, ड्राइंग-हस्ताक्षर, पाठ-हस्ताक्षर, छवि-हस्ताक्षर
home.flatten.title=समतल करें
home.flatten.desc=पीडीएफ़ से सभी इंटरैक्टिव तत्वों और फ़ॉर्म को हटाएं।
flatten.tags=स्थैतिक, निष्क्रिय करें, गैर-इंटरैक्टिव, सरलीकृत
home.repair.title=मरम्मत
home.repair.desc=किसी कोरप्ट/टूटे हुए पीडीएफ़ को मरम्मत करने का प्रयास करता है।
repair.tags=ठीक करें, पुनर्स्थापित करें, सुधार, पुनर्प्राप्ति
home.removeBlanks.title=खाली पृष्ठ हटाएं
home.removeBlanks.desc=दस्तावेज़ से खाली पृष्ठों का पता लगाता है और हटाता है
removeBlanks.tags=सफ़ाई, सरलीकरण, गैर-सामग्री, संगठित
home.removeAnnotations.title=टिप्पणियाँ हटाएं
home.removeAnnotations.desc=पीडीएफ़ से सभी टिप्पणियाँ/एनोटेशन्स को हटाता है
removeAnnotations.tags=टिप्पणियाँ, हाइलाइट, नोट्स, मार्कअप, हटाएं
home.compare.title=तुलना करें
home.compare.desc=2 पीडीएफ़ दस्तावेज़ों के बीच अंतर को तुलना करता है और दिखाता है
compare.tags=भिन्नता, विविधता, परिवर्तन, विश्लेषण
home.certSign.title=प्रमाणपत्र के साथ हस्ताक्षर करें
home.certSign.desc=पीडीएफ़ को प्रमाणपत्र/कुंजी (PEM/P12) के साथ हस्ताक्षरित करता है।
certSign.tags=प्रमाणीकरण, PEM, P12, आधिकारिक, एन्क्रिप्ट
home.pageLayout.title=मल्टी-पेज लेआउट
home.pageLayout.desc=पीडीएफ़ दस्तावेज़ के कई पेजों को एक ही पेज में मर्ज करता है।
pageLayout.tags=मर्ज, संयोजित, एकल दृश्य, संगठित
home.scalePages.title=पेज का आकार/स्केल समायोजित करें
home.scalePages.desc=पेज और/या उसकी सामग्री का आकार/स्केल बदलें।
scalePages.tags=रीसाइज़, संशोधित, आयाम, अनुकूल
home.pipeline.title=पाइपलाइन (उन्नत)
home.pipeline.desc=पाइपलाइन स्क्रिप्ट्स को परिभाषित करके पीडीएफ़ पर कई क्रियाएँ चलाएं
pipeline.tags=स्वचालित करें, क्रम, स्क्रिप्टित, बैच-प्रक्रिया
home.add-page-numbers.title=पेज नंबर जोड़ें
home.add-page-numbers.desc=एक सेट स्थान पर दस्तावेज़ के लिए पेज नंबर जोड़ें
add-page-numbers.tags=पृष्ठांकन, लेबल, संगठन, सूचीकरण
home.auto-rename.title=ऑटो रिनेम पीडीएफ़ फ़ाइल
home.auto-rename.desc=पाया गया है हैडर के आधार पर पीडीएफ़ फ़ाइल को ऑटोमैटिक रूप से नामांकित करता है
auto-rename.tags=ऑटो-डिटेक्ट, हेडर-आधारित, संगठन, नया नाम देना
home.adjust-contrast.title=रंग/कंट्रास्ट समायोजित करें
home.adjust-contrast.desc=पीडीएफ़ का कंट्रास्ट, सैट्युरेशन और ब्राइटनेस समायोजित करें
adjust-contrast.tags=रंग सुधार, ट्यूनिंग, संशोधित करें, बेहतर
home.crop.title=क्रॉप पीडीएफ़
home.crop.desc=पीडीएफ़ का साइज़ कम करने के लिए क्रॉप करें (पाठ को संरक्षित रखें!)
crop.tags=ट्रिम, छोटा करें, संपादित करें, आकार
home.autoSplitPDF.title=ऑटो स्प्लिट पेज्स
home.autoSplitPDF.desc=फिजिकल स्कैन किए गए पेज स्प्लिटर QR कोड के साथ ऑटो स्प्लिट स्कैन किया गया पीडीएफ़
autoSplitPDF.tags=क्यूआर-आधारित, अलग करें, स्कैन-खंड, संगठित
home.sanitizePdf.title=सैनिटाइज़
home.sanitizePdf.desc=पीडीएफ़ फ़ाइलों से स्क्रिप्ट और अन्य तत्वों को हटाता है
sanitizePdf.tags=साफ, सुरक्षित, सुरक्षित, हटाएँ-खतरे
home.URLToPDF.title=URL/वेबसाइट से पीडीएफ़
home.URLToPDF.desc=किसी भी http(s) URL को पीडीएफ़ में रूपांतरित करता है
URLToPDF.tags=वेब-कैप्चर, पेज सहेजें, वेब-से-डॉक, संग्रह
home.HTMLToPDF.title=HTML से पीडीएफ़
home.HTMLToPDF.desc=किसी भी HTML फ़ाइल या ज़िप को पीडीएफ़ में रूपांतरित करता है
HTMLToPDF.tags=मार्कअप, वेब-सामग्री, परिवर्तन, रूपांतरण
home.MarkdownToPDF.title=मार्कडाउन से पीडीएफ़
home.MarkdownToPDF.desc=किसी भी मार्कडाउन फ़ाइल को पीडीएफ़ में रूपांतरित करता है
MarkdownToPDF.tags=मार्कअप, वेब-सामग्री, परिवर्तन, रूपांतरण
home.getPdfInfo.title=पीडीएफ़ पर सभी जानकारी प्राप्त करें
home.getPdfInfo.desc=पीडीएफ़ पर संभावना से सभी सूचना को प्राप्त करता है
getPdfInfo.tags=जानकारी, डेटा, स्टैट्स, सांख्यिकी
home.extractPage.title=पृष्ठ(ओं) को निकालें
home.extractPage.desc=पीडीएफ़ से चयनित पेजों को निकालता है
extractPage.tags=निकालें
home.PdfToSinglePage.title=पीडीएफ़ से एक बड़े पृष्ठ में
home.PdfToSinglePage.desc=सभी पीडीएफ़ पेजों को एक बड़े एकल पृष्ठ में मर्ज करता है
PdfToSinglePage.tags=एकल पृष्ठ
home.showJS.title=जावास्क्रिप्ट दिखाएं
home.showJS.desc=पीडीएफ़ में डाला गया कोई भी जावास्क्रिप्ट खोजता है और प्रदर्शित करता है
showJS.tags=जेएस
home.autoRedact.title=स्वतः गोपनीयकरण
home.autoRedact.desc=प्रविष्ट पाठ के आधार पर पीडीएफ़ में पाठ को स्वतः गोपनीयकरित(काला करें)
showJS.tags=गोपनीयकरण, छिपाना, काला करना, काला, मार्कर, छिपा हुआ
home.tableExtraxt.title=PDF से CSV में
home.tableExtraxt.desc=CSV में बदलते हुए पीडीएफ़ से तालिकाएँ निकालता है
tableExtraxt.tags=CSV, तालिका निकालना, निकालना, परिवर्तित करना
home.autoSizeSplitPDF.title=साइज़/गणना के आधार पर स्वतः विभाजित करें
home.autoSizeSplitPDF.desc=आकार, पृष्ठ संख्या या दस्तावेज़ संख्या के आधार पर एक पीडीएफ़ को विभाजित करें
autoSizeSplitPDF.tags=पीडीएफ़, विभाजन, दस्तावेज़, संगठन
home.overlay-pdfs.title=पीडीएफ़ ओवरले
home.overlay-pdfs.desc=एक पीडीएफ़ के ऊपर दूसरे पीडीएफ़ को ओवरले करता है
overlay-pdfs.tags=ओवरले
home.split-by-sections.title=खंडों से पीडीएफ़ विभाजित करें
home.split-by-sections.desc=पीडीएफ़ के प्रत्येक पृष्ठ को छोटे से छोटे क्षैतिज और ऊर्ध्वाधर खंडों में विभाजित करें
split-by-sections.tags=खंड विभाजन, विभाजित करें, अनुकूलित
###########################
# #
# WEB PAGES #
# #
###########################
#login
login.title=साइन इन करें
login.signin=साइन इन करें
login.rememberme=मुझे याद रखें
login.invalid=अमान्य उपयोगकर्ता नाम या पासवर्ड।
login.locked=आपका खाता लॉक कर दिया गया है।
login.signinTitle=कृपया साइन इन करें
#auto-redact
autoRedact.title=स्वत: गोपनीयकरण
autoRedact.header=स्वत: गोपनीयकरण
autoRedact.colorLabel=रंग
autoRedact.textsToRedactLabel=गोपनीयकरण के लिए पाठ (लाइनों में अलग)
autoRedact.textsToRedactPlaceholder=जैसे \nगोपनीय \nटॉप-सीक्रेट
autoRedact.useRegexLabel=रेगेक्स का प्रयोग करें
autoRedact.wholeWordSearchLabel=पूरे शब्द की खोज
autoRedact.customPaddingLabel=कस्टम अतिरिक्त पैडिंग
autoRedact.convertPDFToImageLabel=PDF को छवि में बदलें (बॉक्स के पीछे पाठ को हटाने के लिए प्रयोग किया जाता है)
autoRedact.submitButton=प्रस्तुत करें
#showJS
showJS.title=जावास्क्रिप्ट दिखाएं
showJS.header=जावास्क्रिप्ट दिखाएं
showJS.downloadJS=जावास्क्रिप्ट डाउनलोड करें
showJS.submit=दिखाएं
#pdfToSinglePage
pdfToSinglePage.title=पीडीएफ़ से एकल पृष्ठ
pdfToSinglePage.header=पीडीएफ़ से एकल पृष्ठ
pdfToSinglePage.submit=एकल पृष्ठ में परिवर्तित करें
#pageExtracter
pageExtracter.title=पृष्ठों को निकालें
pageExtracter.header=पृष्ठों को निकालें
pageExtracter.submit=निकालें
#getPdfInfo
getPdfInfo.title=पीडीएफ़ पर जानकारी प्राप्त करें
getPdfInfo.header=पीडीएफ़ पर जानकारी प्राप्त करें
getPdfInfo.submit=जानकारी प्राप्त करें
getPdfInfo.downloadJson=JSON डाउनलोड करें
#markdown-to-pdf
MarkdownToPDF.title=मार्कडाउन से पीडीएफ़
MarkdownToPDF.header=मार्कडाउन से पीडीएफ़
MarkdownToPDF.submit=रूपांतरित करें
MarkdownToPDF.help=काम चल रहा है
MarkdownToPDF.credit=WeasyPrint का प्रयोग होता है
#url-to-pdf
URLToPDF.title=URL से पीडीएफ़
URLToPDF.header=URL से पीडीएफ़
URLToPDF.submit=रूपांतरित करें
URLToPDF.credit=WeasyPrint का प्रयोग होता है
#html-to-pdf
HTMLToPDF.title=HTML से पीडीएफ़
HTMLToPDF.header=HTML से पीडीएफ़
HTMLToPDF.help=HTML फ़ाइलों और html/css/images आदि को आत्मसात करने वाले ZIPs को स्वीकार करता है
HTMLToPDF.submit=रूपांतरित करें
HTMLToPDF.credit=WeasyPrint का प्रयोग होता है
#sanitizePDF
sanitizePDF.title=पीडीएफ़ को सफाई करें
sanitizePDF.header=एक पीडीएफ़ फ़ाइल को सफाई करें
sanitizePDF.selectText.1=जावास्क्रिप्ट क्रियाएँ हटाएं
sanitizePDF.selectText.2=एम्बेडेड फ़ाइलें हटाएं
sanitizePDF.selectText.3=मेटाडेटा हटाएं
sanitizePDF.selectText.4=लिंक हटाएं
sanitizePDF.selectText.5=फ़ॉन्ट्स हटाएं
sanitizePDF.submit=पीडीएफ़ को सफाई करें
#addPageNumbers
addPageNumbers.title=पृष्ठ संख्या जोड़ें
addPageNumbers.header=पृष्ठ संख्या जोड़ें
addPageNumbers.selectText.1=पीडीएफ़ फ़ाइल का चयन करें:
addPageNumbers.selectText.2=मार्जिन आकार
addPageNumbers.selectText.3=स्थान
addPageNumbers.selectText.4=शुरुआती संख्या
addPageNumbers.selectText.5=संख्यांकित करने के लिए पृष्ठ
addPageNumbers.selectText.6=कस्टम पाठ
addPageNumbers.customTextDesc=कस्टम पाठ
addPageNumbers.numberPagesDesc=किस पृष्ठों को संख्यांकित करना है, डिफ़ॉल्ट 'सभी', यहां 1-5 या 2,5,9 भी स्वीकार करता है
addPageNumbers.customNumberDesc=डिफ़ॉल्ट {n}, 'पेज {n} का {total}', 'पाठ-{n}', '{filename}-{n}' भी स्वीकार करता है
addPageNumbers.submit=पृष्ठ संख्या जोड़ें
#auto-rename
auto-rename.title=स्वतः नाम परिवर्तन (खुद ब खुद नाम बदलें)
auto-rename.header=स्वतः नाम परिवर्तन पीडीएफ़
auto-rename.submit=स्वतः नाम परिवर्तन
#adjustContrast
adjustContrast.title=कंट्रास्ट समायोजित करें
adjustContrast.header=कंट्रास्ट समायोजित करें
adjustContrast.contrast=कंट्रास्ट:
adjustContrast.brightness=चमक:
adjustContrast.saturation=संतृप्ति:
adjustContrast.download=डाउनलोड
#crop
crop.title=कटौती
crop.header=छवि काटो
crop.submit=प्रस्तुत करें
#autoSplitPDF
autoSplitPDF.title=ऑटो स्प्लिट पीडीएफ
autoSplitPDF.header=ऑटो स्प्लिट पीडीएफ
autoSplitPDF.description=प्रिंट, इंसर्ट, स्कैन, अपलोड करें, और हमें आपके दस्तावेजों को स्वत: अलग करने दें। कोई मैनुअल सॉर्टिंग की आवश्यकता नहीं है।
autoSplitPDF.selectText.1=नीचे से कुछ विभाजक शीट्स प्रिंट करें (काला और सफेद ठीक है)।
autoSplitPDF.selectText.2=सभी दस्तावेजों को एक साथ स्कैन करें, उनके बीच में विभाजक शीट डालें।
autoSplitPDF.selectText.3=एक ही बड़ी स्कैन की गई पीडीएफ फ़ाइल अपलोड करें और स्टर्लिंग पीडीएफ से बाकी का संबोधन करें।
autoSplitPDF.selectText.4=विभाजक पृष्ठ स्वत: पहचाने जाते हैं और हटाए जाते हैं, एक साफ़ अंतिम दस्तावेज़ की गारंटी करते हैं।
autoSplitPDF.formPrompt=स्टर्लिंग-पीडीएफ पेज विभाजक शामिल पीडीएफ प्रस्तुत करें:
autoSplitPDF.duplexMode=डुप्लेक्स मोड (सामने और पीछे स्कैनिंग)
autoSplitPDF.dividerDownload1='ऑटो स्प्लिटर विभाजक (न्यूनतम).pdf' डाउनलोड करें
autoSplitPDF.dividerDownload2='ऑटो स्प्लिटर विभाजक (निर्देशों के साथ).pdf' डाउनलोड करें
autoSplitPDF.submit=प्रस्तुत करें
#pipeline
pipeline.title=पाइपलाइन
#pageLayout
pageLayout.title=मल्टी पेज लेआउट
pageLayout.header=मल्टी पेज लेआउट
pageLayout.pagesPerSheet=प्रति पृष्ठ पेज:
pageLayout.addBorder=सीमा जोड़ें
pageLayout.submit=प्रस्तुत क
#scalePages
scalePages.title=पृष्ठ-स्केल समायोजित करें
scalePages.header=पृष्ठ-स्केल समायोजित करें
scalePages.pageSize=दस्तावेज़ के पृष्ठ का आकार।
scalePages.scaleFactor=पृष्ठ का ज़ूम स्तर (क्रॉप)।
scalePages.submit=प्रस्तुत करें
#certSign
certSign.title=प्रमाणपत्र साइनिंग
certSign.header=अपने प्रमाणपत्र के साथ एक पीडीएफ़ पर हस्ताक्षर करें (काम जारी है)
certSign.selectPDF=साइन करने के लिए एक पीडीएफ़ फ़ाइल का चयन करें:
certSign.selectKey=अपनी निजी कुंजी फ़ाइल का चयन करें (PKCS#8 प्रारूप, .pem या .der हो सकता है):
certSign.selectCert=अपनी प्रमाणपत्र फ़ाइल का चयन करें (X.509 प्रारूप, .pem या .der हो सकता है):
certSign.selectP12=अपनी PKCS#12 कीस्टोर फ़ाइल का चयन करें (.p12 या .pfx) (वैकल्पिक, यदि प्रदान की गई हो, तो इसमें आपकी निजी कुंजी और प्रमाणपत्र होना चाहिए):
certSign.certType=प्रमाणपत्र प्रकार
certSign.password=अपनी कीस्टोर या निजी कुंजी पासवर्ड दर्ज करें (यदि कोई हो):
certSign.showSig=हस्ताक्षर दिखाएं
certSign.reason=कारण
certSign.location=स्थान
certSign.name=नाम
certSign.submit=पीडीएफ़ पर हस्ताक्षर करें
#removeBlanks
removeBlanks.title=खाली पेज हटाएं
removeBlanks.header=खाली पेज हटाएं
removeBlanks.threshold=पिक्सेल गोराई थ्रेशोल्ड:
removeBlanks.thresholdDesc='सफेद' क्लास बनाने के लिए पिक्सेल कितना सफेद होना चाहिए यह तय करने के लिए थ्रेशोल्ड। 0 = काला, 255 पूरी सफेद।
removeBlanks.whitePercent=सफेद प्रतिशत (%):
removeBlanks.whitePercentDesc='सफेद' पिक्सेल हटाए जाने के लिए पृष्ठ का प्रतिशत।
removeBlanks.submit=खाली पेज हटाएं
#removeAnnotations
removeAnnotations.title=एनोटेशन्स हटाएं
removeAnnotations.header=एनोटेशन्स हटाएं
removeAnnotations.submit=हटाएं
#compare
compare.title=तुलना करें
compare.header=पीडीएफ़ तुलना करें
compare.document.1=दस्तावेज़ 1
compare.document.2=दस्तावेज़ 2
compare.submit=तुलना करें
#sign
sign.title=हस्ताक्षर
sign.header=पीडीएफ़ पर हस्ताक्षर करें
sign.upload=छवि अपलोड करें
sign.draw=हस्ताक्षर बनाएँ
sign.text=पाठ इनपुट
sign.clear=साफ़ करें
sign.add=जोड़ें
#repair
repair.title=मरम्मत
repair.header=पीडीएफ़ मरम्मत करें
repair.submit=मरम्मत
#flatten
flatten.title=समतल करें
flatten.header=पीडीएफ़ समतल करें
flatten.submit=समतल करें
#ScannerImageSplit
ScannerImageSplit.selectText.1=कोण थ्रेशोल्ड:
ScannerImageSplit.selectText.2=छवि को घुमाने के लिए आवश्यक न्यूनतम स्पष्ट कोण को सेट करता है (डिफ़ॉल्ट: 10)।
ScannerImageSplit.selectText.3=तौररी:
ScannerImageSplit.selectText.4=पूर्वानुमानित पृष्ठभूमि रंग के आस-पास के रंग परिवर्तन की श्रेणी तय करता है (डिफ़ॉल्ट: 30)।
ScannerImageSplit.selectText.5=न्यूनतम क्षेत्र:
ScannerImageSplit.selectText.6=फोटो के लिए न्यूनतम क्षेत्र थ्रेशोल्ड को सेट करता है (डिफ़ॉल्ट: 10000)।
ScannerImageSplit.selectText.7=न्यूनतम कंटोर क्षेत्र:
ScannerImageSplit.selectText.8=फोटो के लिए न्यूनतम कंटोर क्षेत्र थ्रेशोल्ड को सेट करता है।
ScannerImageSplit.selectText.9=बॉर्डर का आकार:
ScannerImageSplit.selectText.10=निकालने और जोड़ने के लिए जोड़ा जाने वाला बॉर्डर का आकार सेट करता है ताकि आउटपुट में सफेद बॉर्डर न आए (डिफ़ॉल्ट: 1)।
#OCR
ocr.title=OCR / स्कैन सफाई
ocr.header=स्कैन सफाई / OCR (ऑप्टिकल कैरेक्टर रिकग्निशन)
ocr.selectText.1=PDF में जिन भाषाओं का पता लगाया जाना है (जो वर्तमान में पता लगाए गए हैं):
ocr.selectText.2=OCR के साथ OCR टेक्स्ट को सहित टेक्स्ट फ़ाइल बनाएँ
ocr.selectText.3=यहाँ चयन करें की क्या आप OCR'ed पीडीएफ़ के साथ स्क्यूड एंगल पर स्कैन किये गए पेज को सही करना चाहते हैं।
ocr.selectText.4=पेज को साफ करें ताकि OCR बैकग्राउंड नॉइज़ में टेक्स्ट न ढूंढे। (कोई आउटपुट परिवर्तन नहीं होगा)
ocr.selectText.5=पेज को साफ करें ताकि OCR बैकग्राउंड नॉइज़ में टेक्स्ट कम से कम ढूंढे, आउटपुट में सफाई बनाए रखता है।
ocr.selectText.6=यह पेज को अन्दर्स्टैंड करने वाले पेज को छोड़ देगा, जो सिर्फ़ इमेजेस पर OCR करेगा
ocr.selectText.7=जब OCR चालू होता है, तो हर पेज को OCR करेगा और सभी मूल टेक्स्ट तत्वों को हटा देगा
ocr.selectText.8=सामान्य (यदि पीडीएफ़ में टेक्स्ट है तो त्रुटि होगी)
ocr.selectText.9=अतिरिक्त सेटिंग्स
ocr.selectText.10=OCR मोड
ocr.selectText.11=OCR के बाद छवियां हटाएँ (सभी छवियां हटाएँ, केवल परिवर्तन चरण का हिस्सा होता है)
ocr.selectText.12=रेंडर टाइप (उन्नत)
ocr.help=कृपया इस डॉक्यूमेंटेशन को पढ़ें कि इसे अन्य भाषाओं के लिए कैसे उपयोग किया जाता है और/या डॉकर में नहीं हैं
ocr.credit=इस सेवा में OCRmyPDF और टेसरेक्ट का उपयोग होता है।
ocr.submit=OCR के साथ PDF प्रोसेस करें
#extractImages
extractImages.title=छवियां निकालें
extractImages.header=छवियां निकालें
extractImages.selectText=निकाली गई छवियों को कन्वर्ट करने के लिए छवि प्रारूप चुनें
extractImages.submit=निकालें
#File to PDF
fileToPDF.title=फ़ाइल से पीडीएफ़
fileToPDF.header=किसी भी फ़ाइल को पीडीएफ़ में बदलें
fileToPDF.credit=यह सेवा फ़ाइल परिवर्तन के लिए LibreOffice और Unoconv का उपयोग करती है।
fileToPDF.supportedFileTypes=समर्थित फ़ाइल प्रकार नीचे दिए गए होने चाहिए हालांकि समर्थित प्रारूपों की पूरी अद्यतन सूची के लिए कृपया LibreOffice दस्तावेज़ीकरण से संदर्भित करें
fileToPDF.submit=पीडीएफ़ में बदलें
#compress
compress.title=संकुचित करें
compress.header=PDF को संकुचित करें
compress.credit=यह सेवा PDF संकुचन/अनुकूलन के लिए Ghostscript का उपयोग करती है।
compress.selectText.1=मैनुअल मोड - 1 से 4 तक
compress.selectText.2=अनुकूलन स्तर:
compress.selectText.3=4 (पाठ छवियों के लिए अत्यधिक)
compress.selectText.4=स्वत: मोड - निर्धारित आकार पाने के लिए गुणवत्ता को स्वत: समायोजित करता है
compress.selectText.5=प्रत्याशित PDF आकार (जैसे 25MB, 10.8MB, 25KB)
compress.submit=संकुचित करें
#Add image
addImage.title=छवि जोड़ें
addImage.header=PDF में छवि जोड़ें
addImage.everyPage=हर पृष्ठ?
addImage.upload=छवि जोड़ें
addImage.submit=छवि जोड़ें
#merge
merge.title=मर्ज
merge.header=एक से अधिक PDF एक साथ मर्ज करें (2+)
merge.sortByName=नाम से क्रमबद्ध करें
merge.sortByDate=तारीख से क्रमबद्ध करें
merge.submit=मर्ज करें
#pdfOrganiser
pdfOrganiser.title=पेज व्यवस्थापक
pdfOrganiser.header=PDF पेज व्यवस्थापक
pdfOrganiser.submit=पृष्ठों को पुनः व्यवस्थित करें
#multiTool
multiTool.title=पीडीएफ मल्टी टूल
multiTool.header=पीडीएफ मल्टी टूल
#view pdf
viewPdf.title=पीडीएफ देखें
viewPdf.header=पीडीएफ देखें
#pageRemover
pageRemover.title=पेज हटाने वाला
pageRemover.header=पीडीएफ पेज हटाने वाला
pageRemover.pagesToDelete=हटाने के पेज (पृष्ठ संख्याओं की व्यवस्था के लिए एक कॉमा से अलग संख्याओं की सूची दर्ज करें):
pageRemover.submit=पेज हटाएं
#rotate
rotate.title=पीडीएफ घुमाएं
rotate.header=पीडीएफ घुमाएं
rotate.selectAngle=चुनें घुमाने का कोण (90 डिग्री के गुणकों में):
rotate.submit=घुमाएं
#merge
split.title=पीडीएफ को विभाजित करें
split.header=पीडीएफ को विभाजित करें
split.desc.1=जिन नंबरों को आप चुनते हैं, वे पृष्ठ संख्या होती हैं जिन पर आप विभाजन करना चाहते हैं।
split.desc.2=इसलिए, 1,3,7-8 का चयन करना एक 10 पृष्ठों के दस्तावेज़ को 6 अलग-अलग पीडीएफ में विभाजित करेगा जैसे:
split.desc.3=दस्तावेज़ #1: पृष्ठ 1
split.desc.4=दस्तावेज़ #2: पृष्ठ 2 और 3
split.desc.5=दस्तावेज़ #3: पृष्ठ 4, 5 और 6
split.desc.6=दस्तावेज़ #4: पृष्ठ 7
split.desc.7=दस्तावेज़ #5: पृष्ठ 8
split.desc.8=दस्तावेज़ #6: पृष्ठ 9 और 10
split.splitPages=विभाजन करने के लिए पृष्ठ दर्ज करें:
split.submit=विभाजित करें
#merge
imageToPDF.title=छवि से पीडीएफ में
imageToPDF.header=छवि से पीडीएफ में
imageToPDF.submit=परिवर्तित करें
imageToPDF.selectLabel=छवि फिट विकल्प
imageToPDF.fillPage=पेज भरें
imageToPDF.fitDocumentToImage=पेज को छवि के आकार में फिट करें
imageToPDF.maintainAspectRatio=प्रमाण अनुपात बनाए रखें
imageToPDF.selectText.2=पीडीएफ को ऑटो रोटेट करें
imageToPDF.selectText.3=मल्टी फ़ाइल तर्क (केवल यदि कई छवियों के साथ काम किया जा रहा है)
imageToPDF.selectText.4=एक ही पीडीएफ में मर्ज करें
imageToPDF.selectText.5=अलग-अलग पीडीएफ में परिवर्तित करें
#pdfToImage
pdfToImage.title=पीडीएफ से छवि
pdfToImage.header=पीडीएफ से छवि
pdfToImage.selectText=छवि प्रारूप
pdfToImage.singleOrMultiple=पेज से छवि परिणाम प्रकार
pdfToImage.single=एक बड़ी छवि, सभी पेजों को कंबाइन करें
pdfToImage.multi=कई छवियाँ, प्रति पेज एक छवि
pdfToImage.colorType=रंग प्रकार
pdfToImage.color=रंगीन
pdfToImage.grey=ग्रे स्केल
pdfToImage.blackwhite=काला और सफेद (डेटा खो सकता है!)
pdfToImage.submit=परिवर्तित करें
#addPassword
addPassword.title=पासवर्ड जोड़ें
addPassword.header=पासवर्ड जोड़ें (एन्क्रिप्ट)
addPassword.selectText.1=एन्क्रिप्ट करने के लिए पीडीएफ चुनें
addPassword.selectText.2=उपयोगकर्ता पासवर्ड
addPassword.selectText.3=एन्क्रिप्शन की लंबाई
addPassword.selectText.4=अधिक मान मजबूत होते हैं, लेकिन कम मानों में अधिक संगतता होती है।
addPassword.selectText.5=सेट करने की अनुमतियाँ (स्वामी पासवर्ड के साथ प्रयोग किया जाना सिफारिश है)
addPassword.selectText.6=दस्तावेज़ के संघटन को रोकें
addPassword.selectText.7=सामग्री निष्कर्षण को रोकें
addPassword.selectText.8=पहुंचनीयता के लिए निष्कर्षण को रोकें
addPassword.selectText.9=फॉर्म भरने को रोकें
addPassword.selectText.10=संशोधन को रोकें
addPassword.selectText.11=टिप्पणी संशोधन को रोकें
addPassword.selectText.12=छापने को रोकें
addPassword.selectText.13=विभिन्न प्रारूपों में छापने को रोकें
addPassword.selectText.14=स्वामी पासवर्ड
addPassword.selectText.15=दस्तावेज़ के साथ क्या किया जा सकता है, इसे खोलने के बाद (सभी रीडर्स द्वारा समर्थित नहीं है)
addPassword.selectText.16=दस्तावेज़ का खोलना परिमित करें
addPassword.submit=एन्क्रिप्ट करें
#watermark
watermark.title=वॉटरमार्क जोड़ें
watermark.header=वॉटरमार्क जोड़ें
watermark.selectText.1=वॉटरमार्क जोड़ने के लिए पीडीएफ चुनें:
watermark.selectText.2=वॉटरमार्क टेक्स्ट:
watermark.selectText.3=फ़ॉन्ट साइज़:
watermark.selectText.4=रोटेशन (0-360):
watermark.selectText.5=चौड़ाई स्पेसर (प्रत्येक वॉटरमार्क के बीच की जगह आंतरिक रूप से):
watermark.selectText.6=ऊंचाई स्पेसर (प्रत्येक वॉटरमार्क के बीच की जगह लंबवती रूप से):
watermark.selectText.7=अपारदर्शिता (0% - 100%):
watermark.selectText.8=वॉटरमार्क प्रकार:
watermark.selectText.9=वॉटरमार्क छवि:
watermark.submit=वॉटरमार्क जोड़ें
#Change permissions
permissions.title=अनुमतियाँ बदलें
permissions.header=अनुमतियाँ बदलें
permissions.warning=इन अनुमतियों को अथवा इन्हें बदलने से बचाने के लिए, यह सुनिश्चित करने के लिए सुझाव दिया जाता है कि आप इन्हें एक पासवर्ड के साथ जोड़े, जैसे कि विशेषज्ञता जोड़ने पृष्ठ पर
permissions.selectText.1=अनुमतियाँ बदलने के लिए पीडीएफ चुनें
permissions.selectText.2=निर्धारित करने के लिए अनुमतियाँ
permissions.selectText.3=दस्तावेज़ का संघटन रोकें
permissions.selectText.4=सामग्री निकासी रोकें
permissions.selectText.5=पहुंचनीयता के लिए निकासी रोकें
permissions.selectText.6=फ़ॉर्म भरना रोकें
permissions.selectText.7=संशोधन रोकें
permissions.selectText.8=टिप्पणी संशोधन रोकें
permissions.selectText.9=प्रिंटिंग रोकें
permissions.selectText.10=विभिन्न प्रारूपों में प्रिंटिंग रोकें
permissions.submit=बदलें
#remove password
removePassword.title=पासवर्ड हटाएं
removePassword.header=पासवर्ड हटाएं (डिक्रिप्ट)
removePassword.selectText.1=डिक्रिप्ट करने के लिए पीडीएफ चुनें
removePassword.selectText.2=पासवर्ड
removePassword.submit=हटाएं
#changeMetadata
changeMetadata.title=मेटाडेटा बदलें
changeMetadata.header=मेटाडेटा बदलें
changeMetadata.selectText.1=कृपया उन चरों को संपादित करें जिन्हें आप बदलना चाहते हैं
changeMetadata.selectText.2=सभी मेटाडेटा हटाएं
changeMetadata.selectText.3=कस्टम मेटाडेटा दिखाएं:
changeMetadata.author=लेखक:
changeMetadata.creationDate=निर्माण तिथि (yyyy/MM/dd HH:mm:ss):
changeMetadata.creator=निर्माता:
changeMetadata.keywords=कीवर्ड्स:
changeMetadata.modDate=संशोधन तिथि (yyyy/MM/dd HH:mm:ss):
changeMetadata.producer=निर्माता:
changeMetadata.subject=विषय:
changeMetadata.title=शीर्षक:
changeMetadata.trapped=फंसा हुआ:
changeMetadata.selectText.4=अन्य मेटाडेटा:
changeMetadata.selectText.5=कस्टम मेटाडेटा एंट्री जोड़ें
changeMetadata.submit=बदलें
#pdfToPDFA
pdfToPDFA.title=PDF से PDF/A में
pdfToPDFA.header=PDF से PDF/A में
pdfToPDFA.credit=इस सेवा में PDF/A परिवर्तन के लिए OCRmyPDF का उपयोग किया जाता है।
pdfToPDFA.submit=परिवर्तित करें
#PDFToWord
PDFToWord.title=PDF से वर्ड
PDFToWord.header=PDF से वर्ड
PDFToWord.selectText.1=आउटपुट फ़ाइल प्रारूप
PDFToWord.credit=यह सेवा फ़ाइल परिवर्तन के लिए LibreOffice का उपयोग करती है।
PDFToWord.submit=परिवर्तित करें
#PDFToPresentation
PDFToPresentation.title=PDF से प्रस्तुति
PDFToPresentation.header=PDF से प्रस्तुति
PDFToPresentation.selectText.1=आउटपुट फ़ाइल प्रारूप
PDFToPresentation.credit=यह सेवा फ़ाइल परिवर्तन के लिए LibreOffice का उपयोग करती है।
PDFToPresentation.submit=परिवर्तित करें
#PDFToText
PDFToText.title=PDF से RTF (पाठ)
PDFToText.header=PDF से RTF (पाठ)
PDFToText.selectText.1=आउटपुट फ़ाइल प्रारूप
PDFToText.credit=यह सेवा फ़ाइल परिवर्तन के लिए LibreOffice का उपयोग करती है।
PDFToText.submit=परिवर्तित करें
#PDFToHTML
PDFToHTML.title=PDF से HTML
PDFToHTML.header=PDF से HTML
PDFToHTML.credit=यह सेवा फ़ाइल परिवर्तन के लिए LibreOffice का उपयोग करती है।
PDFToHTML.submit=परिवर्तित करें
#PDFToXML
PDFToXML.title=PDF से XML
PDFToXML.header=PDF से XML
PDFToXML.credit=यह सेवा फ़ाइल परिवर्तन के लिए LibreOffice का उपयोग करती है।
PDFToXML.submit=परिवर्तित करें
#PDFToCSV
PDFToCSV.title=PDF से CSV
PDFToCSV.header=PDF से CSV
PDFToCSV.prompt=टेबल निकालने के लिए पृष्ठ चुनें
PDFToCSV.submit=निकालें
#split-by-size-or-count
split-by-size-or-count.header=आकार या गणना द्वारा PDF को विभाजित करें
split-by-size-or-count.type.label=स्प्लिट प्रकार चुनें
split-by-size-or-count.type.size=आकार द्वारा
split-by-size-or-count.type.pageCount=पृष्ठ गणना द्वारा
split-by-size-or-count.type.docCount=दस्तावेज़ गणना द्वारा
split-by-size-or-count.value.label=मूल्य दर्ज करें
split-by-size-or-count.value.placeholder=आकार दर्ज करें (उदाहरण के लिए, 2MB या 3KB) या गणना (उदाहरण के लिए, 5)
split-by-size-or-count.submit=प्रस्तुत करें
#overlay-pdfs
overlay-pdfs.header=PDF फ़ाइलों को ओवरले करें
overlay-pdfs.baseFile.label=मूल PDF फ़ाइल का चयन करें
overlay-pdfs.overlayFiles.label=ओवरले करने वाली PDF फ़ाइलें चुनें
overlay-pdfs.mode.label=ओवरले मोड का चयन करें
overlay-pdfs.mode.sequential=क्रमशः ओवरले करें
overlay-pdfs.mode.interleaved=इंटरलीव्ड ओवरले करें
overlay-pdfs.mode.fixedRepeat=निश्चित पुनरावृत्ति ओवरले करें
overlay-pdfs.counts.label=ओवरले की संख्या (निश्चित पुनरावृत्ति मोड के लिए)
overlay-pdfs.counts.placeholder=कमा-विराम दिया गया संख्या दर्ज करें (उदाहरण के लिए, 2,3,1)
overlay-pdfs.position.label=ओवरले की स्थिति का चयन करें
overlay-pdfs.position.foreground=पृष्ठरेखा
overlay-pdfs.position.background=पृष्ठमाध्य
overlay-pdfs.submit=प्रस्तुत करें
#split-by-sections
split-by-sections.title=अनुभागों में PDF को विभाजित करें
split-by-sections.header=खंडों में PDF को विभाजित करें
split-by-sections.horizontal.label=क्षैतिज विभाजन
split-by-sections.vertical.label=लंबवत विभाजन
split-by-sections.horizontal.placeholder=क्षैतिज विभाजन की संख्या दर्ज करें
split-by-sections.vertical.placeholder=लंबवत विभाजन की संख्या दर्ज करें
split-by-sections.submit=PDF को विभाजित करें

View file

@ -0,0 +1,890 @@
###########
# Generic #
###########
# the direction that the language is written (ltr=left to right, rtl=right to left)
language.direction=ltr
pdfPrompt=Pilih PDF
multiPdfPrompt=Pilih PDF (2+)
multiPdfDropPrompt=Pilih (atau seret & letakkan)) semua PDF yang Anda butuhkan
imgPrompt=Pilih Gambar
genericSubmit=Kirim
processTimeWarning=Peringatan: Proses ini dapat memakan waktu hingga satu menit, tergantung pada ukuran berkas
pageOrderPrompt=Urutan Halaman Khusus (Masukkan daftar nomor halaman yang dipisahkan dengan koma atau Fungsi seperti 2n + 1) :
goToPage=Ke
true=Benar
false=Salah
unknown=Tidak diketahui
save=Simpan
close=Tutup
filesSelected=berkas dipilih
noFavourites=Tidak ada favorit yang ditambahkan
bored=Bosan Menunggu?
alphabet=Abjad
downloadPdf=Unduh PDF
text=Teks
font=Jenis huruf
selectFillter=-- Pilih --
pageNum=Nomor Halaman
sizes.small=Kecil
sizes.medium=Sedang
sizes.large=Besar
sizes.x-large=Sangat Besar
error.pdfPassword=Dokumen PDF disandikan dan kata sandi tidak diberikan atau kata sandi salah
delete=Hapus
username=Nama pengguna
password=Kata sandi
welcome=Selamat Datang
property=Properti
black=Hitam
white=Putih
red=Merah
green=Hijau
blue=Biru
custom=Kustom...
changedCredsMessage=Kredensial berubah!!
notAuthenticatedMessage=Pengguna tidak ter-autentikasi.
userNotFoundMessage=Pengguna tidak ditemukan.
incorrectPasswordMessage=Kata sandi saat ini salah.
usernameExistsMessage=Nama pengguna baru sudah ada.
#############
# NAVBAR #
#############
navbar.convert=Konversi
navbar.security=Keamanan
navbar.other=Lain-lain
navbar.darkmode=Mode Gelap
navbar.pageOps=Operasi Halaman
navbar.settings=Pengaturan
#############
# SETTINGS #
#############
settings.title=Pengaturan
settings.update=Pembaruan tersedia
settings.appVersion=Versi Aplikasi:
settings.downloadOption.title=Pilih opsi unduhan (Untuk unduhan berkas tunggal non zip):
settings.downloadOption.1=Buka di jendela yang sama
settings.downloadOption.2=Buka di jendela baru
settings.downloadOption.3=Unduh berkas
settings.zipThreshold=Berkas zip ketika jumlah berkas yang diunduh melebihi
settings.signOut=Keluar
settings.accountSettings=Pengaturan Akun
changeCreds.title=Ubah Kredensial
changeCreds.header=Perbarui Detail Akun Anda
changeCreds.changeUserAndPassword=Anda menggunakan kredensial masuk default. Masukkan kata sandi baru (dan nama pengguna jika diinginkan)
changeCreds.newUsername=Nama Pengguna Baru
changeCreds.oldPassword=Kata Sandi Saat Ini
changeCreds.newPassword=Kata Sandi Baru
changeCreds.confirmNewPassword=Konfirmasi Kata Sandi Baru
changeCreds.submit=Kirim Perubahan
account.title=Pengaturan Akun
account.accountSettings=Pengaturan Akun
account.adminSettings=Pengaturan Admin - Melihat dan Menambahkan Pengguna
account.userControlSettings=Pengaturan Kontrol Pengguna
account.changeUsername=Nama Pengguna Baru
account.changeUsername=Ubah Nama Pengguna
account.password=Konfirmasi Kata sandi
account.oldPassword=Kata sandi lama
account.newPassword=Kata Sandi Baru
account.changePassword=Ubah Kata Sandi
account.confirmNewPassword=Konfirmasi Kata Sandi Baru
account.signOut=Keluar
account.yourApiKey=API Key Anda
account.syncTitle=Menyinkronkan pengaturan browser dengan Akun
account.settingsCompare=Perbandingan Pengaturan:
account.property=Properti
account.webBrowserSettings=Pengaturan Peramban Web
account.syncToBrowser=Sinkronisasi Akun -> Browser
account.syncToAccount=Sinkronisasi Akun <- Browser
adminUserSettings.title=Pengaturan Kontrol Pengguna
adminUserSettings.header=Pengaturan Kontrol Admin
adminUserSettings.admin=Admin
adminUserSettings.user=Pengguna
adminUserSettings.addUser=Tambahkan Pengguna Baru
adminUserSettings.roles=Peran
adminUserSettings.role=Peran
adminUserSettings.actions=Tindakan
adminUserSettings.apiUser=Pengguna API Terbatas
adminUserSettings.webOnlyUser=Pengguna Khusus Web
adminUserSettings.forceChange=Memaksa pengguna untuk mengubah nama pengguna/kata sandi saat masuk
adminUserSettings.submit=Simpan Pengguna
#############
# HOME-PAGE #
#############
home.desc=Semua kebutuhan PDF Anda, langsung dari komputer lokal Anda.
home.searchBar=Mencari fitur...
home.viewPdf.title=Lihat PDF
home.viewPdf.desc=Melihat, membuat anotasi, menambahkan teks atau gambar
viewPdf.tags=melihat,membaca,membuat anotasi,teks,gambar
home.multiTool.title=Alat Multi PDF
home.multiTool.desc=Menggabungkan, Memutar, Mengatur Ulang, dan Menghapus halaman
multiTool.tags=Alat multi,Operasi multi,UI,klik seret,front end,sisi klien,interaktif,sulit diatur,pindah
home.merge.title=Menggabungkan
home.merge.desc=Gabungkan beberapa PDF dengan mudah menjadi satu.
merge.tags=menggabungkan,Pengoperasian halaman,Back end,sisi server
home.split.title=Membagi
home.split.desc=Membagi PDF menjadi beberapa dokumen
split.tags=Pengoperasian halaman,membagi,Multi Halaman,memotong,sisi server
home.rotate.title=Putar
home.rotate.desc=Memutar PDF Anda dengan mudah.
rotate.tags=sisi server
home.imageToPdf.title=Gambar ke PDF
home.imageToPdf.desc=Mengonversi gambar (PNG, JPEG, GIF) ke PDF.
imageToPdf.tags=konversi,img,jpg,gambar,foto
home.pdfToImage.title=PDF ke Gambar
home.pdfToImage.desc=Mengonversi PDF ke gambar. (PNG, JPEG, GIF)
pdfToImage.tags=konversi,img,jpg,gambar,foto
home.pdfOrganiser.title=Mengatur
home.pdfOrganiser.desc=Menghapus/Mengatur ulang halaman dalam urutan apa pun
pdfOrganiser.tags=dupleks,genap,ganjil,sortir,pindah
home.addImage.title=Tambahkan gambar
home.addImage.desc=Menambahkan gambar ke lokasi yang ditentukan pada PDF
addImage.tags=img,jpg,gambar,foto
home.watermark.title=Tambahkan watermark
home.watermark.desc=Menambahkan watermark khusus ke dokumen PDF Anda.
watermark.tags=Teks,berulang,label,sendiri,hak cipta,watermark,img,jpg,picture,photo
home.permissions.title=Izin Perubahan
home.permissions.desc=Mengubah izin dokumen PDF Anda
permissions.tags=baca,tulis,sunting,cetak
home.removePages.title=Menghapus
home.removePages.desc=Menghapus halaman yang tidak diinginkan dari dokumen PDF Anda.
removePages.tags=Menghapus halaman,menghapus halaman
home.addPassword.title=Tambahkan Kata Sandi
home.addPassword.desc=Enkripsi dokumen PDF Anda dengan kata sandi.
addPassword.tags=aman,Keamanan
home.removePassword.title=Hapus Kata Sandi
home.removePassword.desc=Menghapus perlindungan kata sandi dari dokumen PDF Anda.
removePassword.tags=aman,Dekripsi,keamanan,buka kata sandi,hapus kata sandi
home.compressPdfs.title=Kompres
home.compressPdfs.desc=Kompres PDF untuk mengurangi ukuran berkas.
compressPdfs.tags=squish, kecil, kecil
home.changeMetadata.title=Ubah Metadata
home.changeMetadata.desc=Mengubah/Menghapus/Menambahkan metadata dari dokumen PDF
changeMetadata.tags==Judul,penulis,tanggal,pembuatan,waktu,penerbit,produser,statistik
home.fileToPDF.title=Mengonversi berkas ke PDF
home.fileToPDF.desc=Mengonversi hampir semua berkas ke PDF (DOCX, PNG, XLS, PPT, TXT dan lain-lain)
fileToPDF.tags=transformasi,format,dokumen,gambar,slide,text,konversi,office,docs,word,excel,powerpoint
home.ocr.title=Pemindaian/Pembersihan OCR
home.ocr.desc=Memindai dan mendeteksi teks dari gambar di dalam PDF dan menambahkannya kembali sebagai teks.
ocr.tags=rekognisi,teks,gambar,pindai,baca,identifikasi,deteksi,dapat diedit
home.extractImages.title=Ekstrak Gambar
home.extractImages.desc=Mengekstrak semua gambar dari PDF dan menyimpannya ke zip
extractImages.tags=gambar, foto, simpan, arsip, zip, tangkap, ambil
home.pdfToPDFA.title=PDF ke PDF/A
home.pdfToPDFA.desc=Konversi PDF ke PDF/A untuk penyimpanan jangka panjang
pdfToPDFA.tags=arsip, jangka panjang, standar, konversi, penyimpanan, pelestarian
home.PDFToWord.title=PDF ke Word
home.PDFToWord.desc=Mengonversi format PDF ke Word (DOC, DOCX, dan ODT)
PDFToWord.tags=doc, docx, odt, kata, transformasi, format, konversi, kantor, microsoft, docfile
home.PDFToPresentation.title=PDF ke Presentasi
home.PDFToPresentation.desc=Mengonversi PDF ke format Presentasi (PPT, PPTX, dan ODP)
PDFToPresentation.tags=slide, pertunjukan, kantor, microsoft
home.PDFToText.title=PDF ke RTF (Teks)
home.PDFToText.desc=Konversi PDF ke format Teks atau RTF
PDFToText.tags=format kaya, format teks kaya, format teks kaya
home.PDFToHTML.title=PDF ke HTML
home.PDFToHTML.desc=Mengonversi PDF ke format HTML
PDFToHTML.tags=konten web, ramah browser
home.PDFToXML.title=PDF ke XML
home.PDFToXML.desc=Mengonversi PDF ke format XML
PDFToXML.tags=ekstraksi data, konten terstruktur, interop, transformasi, konversi
home.ScannerImageSplit.title=Mendeteksi/Memisahkan foto yang dipindai
home.ScannerImageSplit.desc=Memisahkan beberapa foto dari dalam sebuah foto/PDF
ScannerImageSplit.tags=pisahkan, deteksi otomatis, pindai, multi-foto, atur
home.sign.title=Tanda Tangan
home.sign.desc=Menambahkan tanda tangan ke PDF dengan gambar, teks, atau gambar
sign.tags=mengesahkan, inisial, tanda tangan yang digambar, tanda tangan teks, tanda tangan gambar
home.flatten.title=Meratakan
home.flatten.desc=Menghapus semua elemen dan formulir interaktif dari PDF
flatten.tags=statis, nonaktif, non-interaktif, ramping
home.repair.title=Perbaikan
home.repair.desc=Melakukan perbaikan PDF yang rusak/rusak
repair.tags=perbaiki, pulihkan, koreksi, pulihkan
home.removeBlanks.title=Menghapus halaman kosong
home.removeBlanks.desc=Mendeteksi dan menghapus halaman kosong dari dokumen
removeBlanks.tags=membersihkan, merampingkan, non-konten, mengatur
home.removeAnnotations.title=Menghapus Anotasi
home.removeAnnotations.desc=Menghapus semua komentar/anotasi dari PDF
removeAnnotations.tags=komentar, sorot, catatan, markup, hapus
home.compare.title=Bandingkan
home.compare.desc=Membandingkan dan menunjukkan perbedaan antara 2 Dokumen PDF
compare.tags=membedakan, kontras, perubahan, analisis
home.certSign.title=Tanda tangani dengan Sertifikat
home.certSign.desc=Menandatangani PDF dengan Certificate/Key (PEM/P12)
certSign.tags=mengotentikasi, PEM, P12, resmi, mengenkripsi
home.pageLayout.title=Tata Letak Multi-Halaman
home.pageLayout.desc=Menggabungkan beberapa halaman dokumen PDF menjadi satu halaman
pageLayout.tags=menggabungkan, komposit, tampilan tunggal, mengatur
home.scalePages.title=Menyesuaikan ukuran/skala halaman
home.scalePages.desc=Mengubah ukuran/skala halaman dan/atau isinya.
scalePages.tags=mengubah ukuran, memodifikasi, dimensi, mengadaptasi
home.pipeline.title=Pipeline (Lanjutan)
home.pipeline.desc=Menjalankan beberapa tindakan pada PDF dengan mendefinisikan skrip pipeline
pipeline.tags=mengotomatiskan, mengurutkan, menulis, proses batch
home.add-page-numbers.title=Tambahkan Nomor Halaman
home.add-page-numbers.desc=Menambahkan nomor Halaman di seluruh dokumen di lokasi yang ditetapkan
add-page-numbers.tags=beri halaman, beri label, atur, indeks
home.auto-rename.title=Ubah Nama Berkas PDF Secara Otomatis
home.auto-rename.desc=Mengganti nama berkas PDF secara otomatis berdasarkan tajuk yang terdeteksi
auto-rename.tags=deteksi otomatis, berbasis tajuk, atur, beri label ulang
home.adjust-contrast.title=Menyesuaikan Warna/Kontras
home.adjust-contrast.desc=Sesuaikan Kontras, Saturasi, dan Kecerahan PDF
adjust-contrast.tags=koreksi warna, menyetel, memodifikasi, meningkatkan
home.crop.title=Pangkas PDF
home.crop.desc=Pangkas PDF untuk memperkecil ukurannya (mempertahankan teks!)
crop.tags=memangkas, mengecilkan, mengedit, membentuk
home.autoSplitPDF.title=Membagi Halaman Secara Otomatis
home.autoSplitPDF.desc=Membagi PDF yang dipindai secara otomatis dengan Kode QR pembagi halaman yang dipindai secara fisik
autoSplitPDF.tags=Berbasis QR, pisahkan, pindai segmen, atur
home.sanitizePdf.title=Sanitasi
home.sanitizePdf.desc=Menghapus skrip dan elemen lain dari file PDF
sanitizePdf.tags=bersih, terlindungi, aman, menghilangkan ancaman
home.URLToPDF.title=URL/Situs Web ke PDF
home.URLToPDF.desc=Mengonversi URL http apa pun ke PDF
URLToPDF.tags=tangkap web, simpan halaman, web-ke-dok, arsip
home.HTMLToPDF.title=HTML ke PDF
home.HTMLToPDF.desc=Mengonversi berkas HTML atau zip ke PDF
HTMLToPDF.tags=markup, konten web, transformasi, konversi
home.MarkdownToPDF.title=Penurunan harga ke PDF
home.MarkdownToPDF.desc=Mengonversi berkas Markdown apa pun ke PDF
MarkdownToPDF.tags=markup, konten web, transformasi, konversi
home.getPdfInfo.title=Dapatkan Semua Info tentang PDF
home.getPdfInfo.desc=Mengambil setiap dan semua informasi yang mungkin ada pada PDF
getPdfInfo.tags=informasi, data, statistik, statistik
home.extractPage.title=Ekstrak halaman
home.extractPage.desc=Mengekstrak halaman tertentu dari PDF
extractPage.tags=ekstrak
home.PdfToSinglePage.title=PDF ke Satu Halaman Besar
home.PdfToSinglePage.desc=Menggabungkan semua halaman PDF menjadi satu halaman besar
PdfToSinglePage.tags=halaman tunggal
home.showJS.title=Tampilkan Javascript
home.showJS.desc=Mencari dan menampilkan JS apa pun yang disuntikkan ke dalam PDF
showJS.tags=JS
home.autoRedact.title=Redaksional Otomatis
home.autoRedact.desc=Menyunting Otomatis (Menghitamkan) teks dalam PDF berdasarkan teks masukan
showJS.tags=Hapus, Sembunyikan, padamkan, hitam, hitam, penanda, tersembunyi
home.tableExtraxt.title=PDF ke CSV
home.tableExtraxt.desc=Mengekstrak Tabel dari PDF yang mengonversinya menjadi CSV
tableExtraxt.tags=CSV, Ekstraksi Tabel, ekstrak, konversi
home.autoSizeSplitPDF.title=Pemisahan Otomatis berdasarkan Ukuran/Hitungan
home.autoSizeSplitPDF.desc=Membagi satu PDF menjadi beberapa dokumen berdasarkan ukuran, jumlah halaman, atau jumlah dokumen
autoSizeSplitPDF.tags=pdf, membagi, dokumen, organisasi
home.overlay-pdfs.title=Tumpuk PDF
home.overlay-pdfs.desc=Menumpuk PDF di atas PDF lain
overlay-pdfs.tags=Overlay
home.split-by-sections.title=Membagi PDF berdasarkan Bagian
home.split-by-sections.desc=Membagi setiap halaman PDF menjadi beberapa bagian horizontal dan vertikal yang lebih kecil
split-by-sections.tags=Membagi Bagian, Membagi, Menyesuaikan
###########################
# #
# WEB PAGES #
# #
###########################
#login
login.title=Masuk
login.signin=Masuk
login.rememberme=Ingat saya
login.invalid=Nama pengguna atau kata sandi tidak valid.
login.locked=Akun Anda telah dikunci.
login.signinTitle=Silakan masuk
#auto-redact
autoRedact.title=Redaksional Otomatis
autoRedact.header=Redaksional Otomatis
autoRedact.colorLabel=Warna
autoRedact.textsToRedactLabel=Teks untuk Disunting (dipisahkan baris)
autoRedact.textsToRedactPlaceholder=misalnya \nRahasia \nRahasia Tertinggi
autoRedact.useRegexLabel=Gunakan Regex
autoRedact.wholeWordSearchLabel=Pencarian Seluruh Kata
autoRedact.customPaddingLabel=Padding Ekstra Kustom
autoRedact.convertPDFToImageLabel=Konversi PDF ke PDF-Gambar (Digunakan untuk menghapus teks di belakang kotak)
autoRedact.submitButton=Kirim
#showJS
showJS.title=Tampilkan Javascript
showJS.header=Tampilkan Javascript
showJS.downloadJS=Unduh Javascript
showJS.submit=Tampilkan
#pdfToSinglePage
pdfToSinglePage.title=PDF Ke Halaman Tunggal
pdfToSinglePage.header=PDF Ke Halaman Tunggal
pdfToSinglePage.submit=Konversi ke Halaman Tunggal
#pageExtracter
pageExtracter.title=Ekstrak Halaman
pageExtracter.header=Ekstrak Halaman
pageExtracter.submit=Ekstrak
#getPdfInfo
getPdfInfo.title=Dapatkan Info tentang PDF
getPdfInfo.header=Dapatkan Info tentang PDF
getPdfInfo.submit=Dapatkan Info
getPdfInfo.downloadJson=Unduh JSON
#markdown-to-pdf
MarkdownToPDF.title=Markdown ke PDF
MarkdownToPDF.header=Markdown Ke PDF
MarkdownToPDF.submit=Konversi
MarkdownToPDF.help=Pekerjaan sedang berlangsung
MarkdownToPDF.credit=Menggunakan WeasyPrint
#url-to-pdf
URLToPDF.title=URL ke PDF
URLToPDF.header=URL Ke PDF
URLToPDF.submit=Konversi
URLToPDF.credit=Menggunakan WeasyPrint
#html-to-pdf
HTMLToPDF.title=HTML Ke PDF
HTMLToPDF.header=HTML Ke PDF
HTMLToPDF.help=Menerima berkas HTML dan ZIP yang berisi html / css / gambar, dll yang diperlukan
HTMLToPDF.submit=Konversi
HTMLToPDF.credit=Menggunakan WeasyPrint
#sanitizePDF
sanitizePDF.title=Bersihkan PDF
sanitizePDF.header=Membersihkan berkas PDF
sanitizePDF.selectText.1=Hapus tindakan JavaScript
sanitizePDF.selectText.2=Hapus berkas yang disematkan
sanitizePDF.selectText.3=Hapus metadata
sanitizePDF.selectText.4=Hapus tautan
sanitizePDF.selectText.5=Hapus font
sanitizePDF.submit=Membersihkan PDF
#addPageNumbers
addPageNumbers.title=Tambahkan Nomor Halaman
addPageNumbers.header=Tambahkan Nomor Halaman
addPageNumbers.selectText.1=Pilih berkas PDF:
addPageNumbers.selectText.2=Ukuran Margin
addPageNumbers.selectText.3=Posisi
addPageNumbers.selectText.4=Nomor Awal
addPageNumbers.selectText.5=Halaman ke Nomor
addPageNumbers.selectText.6=Teks Khusus
addPageNumbers.customTextDesc=Teks Khusus
addPageNumbers.numberPagesDesc=Halaman mana yang akan diberi nomor, default 'semua', juga menerima 1-5 atau 2,5,9, dll.
addPageNumbers.customNumberDesc=Default untuk {n}, juga menerima 'Halaman {n} dari {total}', 'Teks-{n}', '{nama berkas}-{n}'
addPageNumbers.submit=Tambahkan Nomor Halaman
#auto-rename
auto-rename.title=Ganti Nama Otomatis
auto-rename.header=Ganti Nama PDF Otomatis
auto-rename.submit=Ganti Nama Otomatis
#adjustContrast
adjustContrast.title=Sesuaikan Kontras
adjustContrast.header=Sesuaikan Kontras
adjustContrast.contrast=Kontras:
adjustContrast.brightness=Kecerahan:
adjustContrast.saturation=Saturasi:
adjustContrast.download=Unduh
#crop
crop.title=Pangkas
crop.header=Pangkas Gambar
crop.submit=Kirim
#autoSplitPDF
autoSplitPDF.title=PDF Pisah Otomatis
autoSplitPDF.header=Pisahkan PDF secara otomatis
autoSplitPDF.description=Cetak, Sisipkan, Pindai, unggah, dan biarkan kami memisahkan dokumen Anda secara otomatis. Tidak perlu menyortir secara manual.
autoSplitPDF.selectText.1=Cetak beberapa lembar pembatas dari bawah (Hitam putih tidak masalah).
autoSplitPDF.selectText.2=Pindai semua dokumen Anda sekaligus dengan memasukkan lembar pembatas di antaranya.
autoSplitPDF.selectText.3=Unggah satu berkas PDF besar yang dipindai dan biarkan Stirling PDF menangani sisanya.
autoSplitPDF.selectText.4=Halaman pembatas secara otomatis terdeteksi dan dihapus, menjamin dokumen akhir yang rapi.
autoSplitPDF.formPrompt=Kirimkan PDF yang berisi pembagi Halaman Stirling-PDF:
autoSplitPDF.duplexMode=Mode Dupleks (Pemindaian depan dan belakang)
autoSplitPDF.dividerDownload1=Unduh 'Pembagi Pembagi Otomatis (minimal).pdf'
autoSplitPDF.dividerDownload2=Unduh 'Pembagi Pembagi Otomatis (dengan instruksi).pdf'
autoSplitPDF.submit=Kirim
#pipeline
pipeline.title=Pipeline
#pageLayout
pageLayout.title=Tata Letak Multi Halaman
pageLayout.header=Tata Letak Multi Halaman
pageLayout.pagesPerSheet=Halaman per lembar:
pageLayout.addBorder=Menambahkan Batas
pageLayout.submit=Kirim
#scalePages
scalePages.title=Sesuaikan skala halaman
scalePages.header=Sesuaikan skala halaman
scalePages.pageSize=Ukuran halaman dokumen.
scalePages.scaleFactor=Tingkat zoom (potong) halaman.
scalePages.submit=Kirim
#certSign
certSign.title=Penandatanganan Sertifikat
certSign.header=Menandatangani PDF dengan sertifikat Anda (Sedang dalam proses)
certSign.selectPDF=Pilih Berkas PDF untuk Penandatanganan:
certSign.selectKey=Pilih Berkas Kunci Pribadi Anda (format PKCS # 8, bisa .pem atau .der):
certSign.selectCert=Pilih Berkas Sertifikat Anda (format X.509, bisa .pem atau .der):
certSign.selectP12=Pilih Berkas Keystore PKCS #12 Anda (.p12 atau .pfx) (Opsional, Jika disediakan, berkas tersebut harus berisi kunci pribadi dan sertifikat Anda):
certSign.certType=Jenis Sertifikat
certSign.password=Masukkan Kata Sandi Kunci atau Kunci Pribadi Anda (Jika Ada):
certSign.showSig=Tampilkan Tanda Tangan
certSign.reason=Alasan
certSign.location=Lokasi
certSign.name=Nama
certSign.submit=Tanda tangani PDF
#removeBlanks
removeBlanks.title=Hapus Halaman Kosong
hapusKosong.header=Hapus Halaman Kosong
removeBlanks.threshold=Ambang Batas Keputihan Piksel:
removeBlanks.thresholdDesc=Ambang batas untuk menentukan seberapa putih piksel putih yang harus diklasifikasikan sebagai 'Putih'. 0=Hitam, 255 putih murni.
removeBlanks.whitePercent=Persen Putih (%):
removeBlanks.whitePercentDesc=Persentase halaman yang harus berupa piksel 'putih' yang akan dihapus
removeBlanks.submit=Hapus Kosong
#removeAnnotations
removeAnnotations.title=Hapus Anotasi
removeAnnotations.header=Hapus Anotasi
removeAnnotations.submit=Hapus
#compare
compare.title=Bandingkan
compare.header=Bandingkan PDF
compare.document.1=Dokumen 1
compare.document.2=Dokumen 2
compare.submit=Bandingkan
#sign
sign.title=Tanda
sign.header=Tandatangani PDF
sign.upload=Unggah Gambar
sign.draw=Gambar Tanda Tangan
sign.text=Masukan Teks
sign.clear=Hapus
sign.add=Tambah
#repair
repair.title=Perbaiki
repair.header=Perbaiki PDF
repair.submit=Perbaiki
#flatten
flatten.title=Ratakan
flatten.header=Ratakan PDF
flatten.submit=Ratakan
#ScannerImageSplit
ScannerImageSplit.selectText.1=Ambang Batas Sudut:
ScannerImageSplit.selectText.2=Menetapkan sudut absolut minimum yang diperlukan agar gambar dapat diputar (default: 10).
ScannerImageSplit.selectText.3=Toleransi:
ScannerImageSplit.selectText.4=Menentukan kisaran variasi warna di sekitar perkiraan warna latar belakang (default: 30).
ScannerImageSplit.selectText.5=Area Minimum:
ScannerImageSplit.selectText.6=Menetapkan ambang batas area minimum untuk foto (default: 10000).
ScannerImageSplit.selectText.7=Area Kontur Minimum:
ScannerImageSplit.selectText.8=Menetapkan ambang batas area kontur minimum untuk foto
ScannerImageSplit.selectText.9=Ukuran Batas:
ScannerImageSplit.selectText.10=Menetapkan ukuran batas yang ditambahkan dan dihapus untuk mencegah batas putih pada output (default: 1).
#OCR
ocr.title=OCR / Pembersihan Pindaian
ocr.header=Pemindaian Pembersihan / OCR (Pengenalan Karakter Optik)
ocr.selectText.1=Pilih bahasa yang akan dideteksi di dalam PDF (Bahasa yang terdaftar adalah bahasa yang saat ini terdeteksi):
ocr.selectText.2=Menghasilkan berkas teks yang berisi teks OCR di samping PDF yang di-OCR
ocr.selectText.3=Halaman yang benar dipindai pada sudut miring dengan memutarnya kembali ke tempatnya
ocr.selectText.4=Halaman yang bersih sehingga kecil kemungkinan OCR akan menemukan teks dalam kebisingan latar belakang. (Tidak ada perubahan output)
ocr.selectText.5=Bersihkan halaman sehingga kecil kemungkinan OCR akan menemukan teks dalam kebisingan latar belakang, mempertahankan pembersihan pada keluaran.
ocr.selectText.6=Mengabaikan halaman yang memiliki teks interaktif, hanya halaman OCR yang berupa gambar
ocr.selectText.7=Memaksa OCR, akan meng-OCR setiap halaman dengan menghapus semua elemen teks asli
ocr.selectText.8=Normal (Akan terjadi kesalahan jika PDF berisi teks)
ocr.selectText.9=Pengaturan Tambahan
ocr.selectText.10=Mode OCR
ocr.selectText.11=Hapus gambar setelah OCR (Menghapus Semua gambar, hanya berguna jika merupakan bagian dari langkah konversi)
ocr.selectText.12=Jenis Render (Lanjutan)
ocr.help=Silakan baca dokumentasi ini tentang cara menggunakan ini untuk bahasa lain dan/atau penggunaan yang tidak ada di docker
ocr.credit=Layanan ini menggunakan OCRmyPDF dan Tesseract untuk OCR.
ocr.submit=Memproses PDF dengan OCR
#extractImages
extractImages.title=Ekstrak Gambar
extractImages.header=Mengekstrak Gambar
extractImages.selectText=Pilih format gambar yang akan dikonversi
extractImages.submit=Ekstrak
#File to PDF
fileToPDF.title=Berkas ke PDF
fileToPDF.header=Mengonversi berkas apa pun ke PDF
fileToPDF.credit=Layanan ini menggunakan LibreOffice dan Unoconv untuk konversi berkas.
fileToPDF.supportedFileTypes=Jenis berkas yang didukung harus mencakup yang di bawah ini, namun untuk daftar lengkap format yang didukung, silakan lihat dokumentasi LibreOffice
fileToPDF.submit=Konversi ke PDF
#compress
compress.title=Kompres
compress.header=Kompres PDF
compress.credit=Layanan ini menggunakan Ghostscript untuk Kompresi/Optimalisasi PDF.
compress.selectText.1=Mode Manual - Dari 1 hingga 4
compress.selectText.2=Tingkat Optimalisasi:
compress.selectText.3=4 (Buruk untuk gambar teks)
compress.selectText.4=Mode Otomatis - Menyesuaikan kualitas secara otomatis untuk mendapatkan PDF dengan ukuran yang tepat
compress.selectText.5=Ukuran PDF yang diharapkan (mis. 25MB, 10,8MB, 25KB)
compress.submit=Kompres
#Add image
addImage.title=Tambahkan Gambar
addImage.header=Tambahkan Gambar ke PDF
addImage.everyPage=Setiap Halaman?
addImage.upload=Tambahkan Gambar
addImage.submit=Tambahkan Gambar
#merge
merge.title=Gabungkan
merge.header=Gabungkan beberapa PDFs (2+)
merge.sortByName=Sortir berdasarkan nama
merge.sortByDate=Sortir berdasrkan tanggal
merge.submit=Gabungkan
#pdfOrganiser
pdfOrganiser.title=Pengaturan Halaman
pdfOrganiser.header=Pengaturan Halaman PDF
pdfOrganiser.submit=Susun ulang halaman
#multiTool
multiTool.title=Alat Multi PDF
multiTool.header=Alat Multi PDF
#view pdf
viewPdf.title=Lihat PDF
viewPdf.header=Lihat PDF
#pageRemover
pageRemover.title=Penghapus Halaman
pageRemover.header=Penghapus Halaman PDF
pageRemover.pagesToDelete=Halaman yang akan dihapus (Masukkan daftar nomor halaman yang dipisahkan dengan koma) :
pageRemover.submit=Hapus Halaman
#rotate
rotate.title=Rotasi PDF
rotate.header=Rotasi PDF
rotate.selectAngle=Pilih sudut rotasi (dalam kelipatan 90 derajat):
rotate.submit=Rotasi
#merge
split.title=Membagi PDF
split.header=Membagi PDF
split.desc.1=Angka yang Anda pilih adalah nomor halaman yang ingin Anda pisahkan
split.desc.2=Dengan demikian, memilih 1,3,7-8 akan membagi dokumen 10 halaman menjadi 6 PDF terpisah:
split.desc.3=Dokumen #1: Halaman 1
split.desc.4=Dokumen #2: Halaman 2 dan 3
split.desc.5=Dokumen #3: Halaman 4, 5 dan 6
split.desc.6=Dokumen #4: Halaman 7
split.desc.7=Dokumen #5: Halaman 8
split.desc.8=Dokumen #6: Halaman 9 dan 10
split.splitPages=Masukkan halaman yang akan dipisah:
split.submit=Pisahkan
#merge
imageToPDF.title=Gambar ke PDF
imageToPDF.header=Gambar ke PDF
imageToPDF.submit=Konversi
imageToPDF.selectLabel=Opsi Kesesuaian Gambar
imageToPDF.fillPage=Isi Halaman
imageToPDF.fitDocumentToImage=Isi Dokumen dengan Gambar
imageToPDF.maintainAspectRatio=Pertahankan aspek rasio
imageToPDF.selectText.2=Putar PDF secara otomatis
imageToPDF.selectText.3=Logika multi berkas (Hanya diaktifkan jika bekerja dengan banyak gambar)
imageToPDF.selectText.4=Gabungkan menjadi satu PDF
imageToPDF.selectText.5=Mengonversi ke PDF yang terpisah
#pdfToImage
pdfToImage.title=PDF ke Gambar
pdfToImage.header=PDF ke Gambar
pdfToImage.selectText=Format Gambar
pdfToImage.singleOrMultiple=Tipe hasil halaman ke gambar
pdfToImage.single=Gambar Besar Tunggal Menggabungkan semua halaman
pdfToImage.multi=Beberapa Gambar, satu gambar per halaman
pdfToImage.colorType=Tipe warna
pdfToImage.color=Warna
pdfToImage.grey=Skala abu-abu
pdfToImage.blackwhite=Black and White (Bisa kehilangan data!)
pdfToImage.submit=Konversi
#addPassword
addPassword.title=Tambahkan kata sandi
addPassword.header=Tambahkan kata sandi (Enkrip)
addPassword.selectText.1=Pilih PDF untuk enkripsi
addPassword.selectText.2=Kata sandi Pengguna
addPassword.selectText.3=Panjang kunci enkripsi
addPassword.selectText.4=Nilai yang lebih tinggi lebih kuat, tetapi nilai yang lebih rendah memiliki kompatibilitas yang lebih baik.
addPassword.selectText.5=Perizinan untuk diubah (Disarankan untuk digunakan bersama dengan kata sandi Pemilik)
addPassword.selectText.6=Pencegahan untuk penyusunan dokumen
addPassword.selectText.7=Pencegahan untuk ekstraksi konten
addPassword.selectText.8=Pencegahan ekstraksi untuk aksesibilitas
addPassword.selectText.9=Pencegahan untuk mengisi formulir
addPassword.selectText.10=Pencegahan untuk pengubahan
addPassword.selectText.11=Pencegahan untuk perubahan anotasi
addPassword.selectText.12=Pencegahan untuk mencetak
addPassword.selectText.13=Pencegahan untuk mencetak format yang berbeda
addPassword.selectText.14=Kata sandi Pemilik
addPassword.selectText.15=Membatasi apa yang dapat dilakukan dengan dokumen setelah dibuka (Tidak didukung oleh semua pembaca)
addPassword.selectText.16=Membatasi pembukaan dokumen itu sendiri
addPassword.submit=Enkripsi
#watermark
watermark.title=Tambahkan Watermark
watermark.header=Tambahkan Watermark
watermark.selectText.1=Pilih PDF untuk menambahkan watermark:
watermark.selectText.2=Text Watermark:
watermark.selectText.3=Ukuran Huruf:
watermark.selectText.4=Rotasi (0-360):
watermark.selectText.5=widthSpacer (Spasi diantara setiap watermark horisontal):
watermark.selectText.6=heightSpacer (Spasi diantara setiap watermark vertikal):
watermark.selectText.7=Opacity (0% - 100%):
watermark.selectText.8=Tipe Watermark:
watermark.selectText.9=Gambar Watermark:
watermark.submit=Tambahkan Watermark
#Change permissions
permissions.title=Ganti Perizinan
permissions.header=Ganti Perizinan
permissions.warning=Peringatan untuk menyetel izin yang tidak dapat diubah, disarankan untuk menyetel izin dengan kata sandi melalui halaman tambah kata sandi
permissions.selectText.1=Pilih PDF untuk mengubah izin
permissions.selectText.2=Perizinan untuk diubah
permissions.selectText.3=Pencegahan untuk penyusunan dokumen
permissions.selectText.4=Pencegahan untuk ekstraksi konten
permissions.selectText.5=Pencegahan ekstraksi untuk aksesibilitas
permissions.selectText.6=Pencegahan untuk mengisi formulir
permissions.selectText.7=Pencegahan untuk pengubahan
permissions.selectText.8=Pencegahan untuk perubahan anotasi
permissions.selectText.9=Pencegahan untuk mencetak
permissions.selectText.10=Pencegahan untuk mencetak format yang berbeda
permissions.submit=Ganti
#remove password
removePassword.title=Hapus kata sandi
removePassword.header=Hapus kata sandi (Dekrip)
removePassword.selectText.1=Pilih PDF yang akan di Dekrip
removePassword.selectText.2=Kata Sandi
removePassword.submit=Hapus
#changeMetadata
changeMetadata.title=Ganti Metadata
changeMetadata.header=Ganti Metadata
changeMetadata.selectText.1=Silakan edit variabel yang ingin Anda ubah
changeMetadata.selectText.2=Hapus semua metadata
changeMetadata.selectText.3=Tampilkan Metadata Khusus:
changeMetadata.author=Penulis:
changeMetadata.creationDate=Tanggal Dibuat (yyyy/MM/dd HH:mm:ss):
changeMetadata.creator=Pencipta:
changeMetadata.keywords=Kata kunci:
changeMetadata.modDate=Tangal Diupdate (yyyy/MM/dd HH:mm:ss):
changeMetadata.producer=Produser:
changeMetadata.subject=Subjek:
changeMetadata.title=Judul:
changeMetadata.trapped=Terperangkap:
changeMetadata.selectText.4=Metadata Lain-lain:
changeMetadata.selectText.5=Tambahkan Metadata Khusus
changeMetadata.submit=Ganti
#pdfToPDFA
pdfToPDFA.title=PDF Ke PDF/A
pdfToPDFA.header=PDF ke PDF/A
pdfToPDFA.credit=Layanan ini menggunakan OCRmyPDF untuk konversi PDF/A.
pdfToPDFA.submit=Konversi
#PDFToWord
PDFToWord.title=PDF Ke Word
PDFToWord.header=PDF ke Word
PDFToWord.selectText.1=Hasil format berkas
PDFToWord.credit=Layanan ini menggunakan LibreOffice untuk konversi berkas.
PDFToWord.submit=Konversi
#PDFToPresentation
PDFToPresentation.title=PDF Ke Presentation
PDFToPresentation.header=PDF ke Presentation
PDFToPresentation.selectText.1=Hasil format berkas
PDFToPresentation.credit=Layanan ini menggunakan LibreOffice untuk konversi berkas.
PDFToPresentation.submit=Konversi
#PDFToText
PDFToText.title=PDF Ke RTF (Text)
PDFToText.header=PDF ke RTF (Text)
PDFToText.selectText.1=Hasil format berkas
PDFToText.credit=Layanan ini menggunakan LibreOffice untuk konversi berkas.
PDFToText.submit=Konversi
#PDFToHTML
PDFToHTML.title=PDF Ke HTML
PDFToHTML.header=PDF ke HTML
PDFToHTML.credit=Layanan ini menggunakan LibreOffice untuk konversi berkas.
PDFToHTML.submit=Konversi
#PDFToXML
PDFToXML.title=PDF Ke XML
PDFToXML.header=PDF ke XML
PDFToXML.credit=Layanan ini menggunakan LibreOffice untuk konversi berkas.
PDFToXML.submit=Konversi
#PDFToCSV
PDFToCSV.title=PDF Ke CSV
PDFToCSV.header=PDF ke CSV
PDFToCSV.prompt=Pilih halaman untuk mengambil tabel
PDFToCSV.submit=Ektraksi
#split-by-size-or-count
split-by-size-or-count.header=Pisahkan PDF berdasarkan ukuran atau jumlah
split-by-size-or-count.type.label= Pilih Tipe Split
split-by-size-or-count.type.size=Berdasarkan Ukuran
split-by-size-or-count.type.pageCount=Berdasarkan Jumlah Halaman
split-by-size-or-count.type.docCount=Berdasarkan Jumlah Dokumen
split-by-size-or-count.value.label=Masukkan Jumlah
split-by-size-or-count.value.placeholder=Masukkan ukuran (e.g., 2MB or 3KB) atau hitungan (e.g., 5)
split-by-size-or-count.submit=Kirim
#overlay-pdfs
overlay-pdfs.header=Hamparan berkas PDF
overlay-pdfs.baseFile.label=Pilih basis berkas PDF
overlay-pdfs.overlayFiles.label=Pilih hamparan berkas PDF
overlay-pdfs.mode.label=Pilih Mode Hamparan
overlay-pdfs.mode.sequential=Hamparan Sequential
overlay-pdfs.mode.interleaved=Hamparan Interleaved
overlay-pdfs.mode.fixedRepeat=Hamparan Fixed Repeat
overlay-pdfs.counts.label=Jumlah Overlay (Untuk hamparan fixed repeat)
overlay-pdfs.counts.placeholder=Masukkan hitungan yang dipisahkan oleh koma (e.g., 2,3,1)
overlay-pdfs.position.label=Pilih posisi hamparan
overlay-pdfs.position.foreground=Latar depan
overlay-pdfs.position.background=Latar belakang
overlay-pdfs.submit=Kirim
#split-by-sections
split-by-sections.title=Pisahkan PDF berdasarkan bagian
split-by-sections.header=Pisahkan PDF menjadi beberapa bagian
split-by-sections.horizontal.label=Pembagian Horizontal
split-by-sections.vertical.label=Pembagian Vertikal
split-by-sections.horizontal.placeholder=Input angka untuk pembagian horizontal
split-by-sections.vertical.placeholder=Input angka untuk pembagian vertikal
split-by-sections.submit=Pisahkan PDF

View file

@ -295,7 +295,7 @@ home.autoSplitPDF.title=Pagine divise automaticamente
home.autoSplitPDF.desc=Dividi automaticamente il PDF scansionato con il codice QR dello divisore di pagina fisico scansionato home.autoSplitPDF.desc=Dividi automaticamente il PDF scansionato con il codice QR dello divisore di pagina fisico scansionato
autoSplitPDF.tags=Basato su QR,separato,scansiona segmenti,organizza autoSplitPDF.tags=Basato su QR,separato,scansiona segmenti,organizza
home.sanitizePdf.title=Igienizzare home.sanitizePdf.title=Pulire
home.sanitizePdf.desc=Rimuovi script e altri elementi dai file PDF home.sanitizePdf.desc=Rimuovi script e altri elementi dai file PDF
sanitizePdf.tags=pulire,proteggere,rimuovere le minacce sanitizePdf.tags=pulire,proteggere,rimuovere le minacce
@ -336,23 +336,23 @@ home.autoRedact.title=Redazione automatica
home.autoRedact.desc=Redige automaticamente (oscura) il testo in un PDF in base al testo immesso home.autoRedact.desc=Redige automaticamente (oscura) il testo in un PDF in base al testo immesso
showJS.tags=JS showJS.tags=JS
home.tableExtraxt.title=PDF to CSV home.tableExtraxt.title=Da PDF a CSV
home.tableExtraxt.desc=Extracts Tables from a PDF converting it to CSV home.tableExtraxt.desc=Estrae tabelle da un PDF convertendolo in CSV
tableExtraxt.tags=CSV,Table Extraction,extract,convert tableExtraxt.tags=CSV,Estrazione tabella,estrai,converti
home.autoSizeSplitPDF.title=Auto Split by Size/Count home.autoSizeSplitPDF.title=Divisione automatica per dimensione/numero
home.autoSizeSplitPDF.desc=Split a single PDF into multiple documents based on size, page count, or document count home.autoSizeSplitPDF.desc=Dividi un singolo PDF in più documenti in base alle dimensioni, al numero di pagine o al numero di documenti
autoSizeSplitPDF.tags=pdf,split,document,organization autoSizeSplitPDF.tags=pdf,diviso,documento,organizzazione
home.overlay-pdfs.title=Overlay PDFs home.overlay-pdfs.title=Sovrapposizione di PDF
home.overlay-pdfs.desc=Overlays PDFs on-top of another PDF home.overlay-pdfs.desc=Sovrappone i PDF sopra un altro PDF
overlay-pdfs.tags=Overlay overlay-pdfs.tags=Svrapponi
home.split-by-sections.title=Split PDF by Sections home.split-by-sections.title=Dividi PDF per sezioni
home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections home.split-by-sections.desc=Dividi ciascuna pagina di un PDF in sezioni orizzontali e verticali più piccole
split-by-sections.tags=Section Split, Divide, Customize split-by-sections.tags=Dividi sezione, dividi, personalizza
########################### ###########################
# # # #
@ -432,14 +432,14 @@ HTMLToPDF.credit=Utilizza WeasyPrint
#sanitizePDF #sanitizePDF
sanitizePDF.title=Disinfetta PDF sanitizePDF.title=Pulire PDF
sanitizePDF.header=Disinfettare un file PDF sanitizePDF.header=Pulisci un file PDF
sanitizePDF.selectText.1=Rimuovi le azioni JavaScript sanitizePDF.selectText.1=Rimuovi le azioni JavaScript
sanitizePDF.selectText.2=Rimuovi i file incorporati sanitizePDF.selectText.2=Rimuovi i file incorporati
sanitizePDF.selectText.3=Rimuovi i metadati sanitizePDF.selectText.3=Rimuovi i metadati
sanitizePDF.selectText.4=Rimuovi collegamenti sanitizePDF.selectText.4=Rimuovi collegamenti
sanitizePDF.selectText.5=Rimuovi i fonts sanitizePDF.selectText.5=Rimuovi i fonts
sanitizePDF.submit=Disinfetta PDF sanitizePDF.submit=Pulisci PDF
#addPageNumbers #addPageNumbers
@ -692,10 +692,10 @@ split.submit=Dividi
imageToPDF.title=Immagine a PDF imageToPDF.title=Immagine a PDF
imageToPDF.header=Immagine a PDF imageToPDF.header=Immagine a PDF
imageToPDF.submit=Converti imageToPDF.submit=Converti
imageToPDF.selectLabel=Image Fit Options imageToPDF.selectLabel=Opzioni di adattamento immagine
imageToPDF.fillPage=Fill Page imageToPDF.fillPage=Riempi la pagina
imageToPDF.fitDocumentToImage=Fit Page to Image imageToPDF.fitDocumentToImage=Adatta la pagina all'immagine
imageToPDF.maintainAspectRatio=Maintain Aspect Ratios imageToPDF.maintainAspectRatio=Mantieni le proporzioni
imageToPDF.selectText.2=Ruota automaticamente PDF imageToPDF.selectText.2=Ruota automaticamente PDF
imageToPDF.selectText.3=Logica multi-file (funziona solo se ci sono più immagini) imageToPDF.selectText.3=Logica multi-file (funziona solo se ci sono più immagini)
imageToPDF.selectText.4=Unisci in un unico PDF imageToPDF.selectText.4=Unisci in un unico PDF
@ -845,41 +845,41 @@ PDFToXML.submit=Converti
#PDFToCSV #PDFToCSV
PDFToCSV.title=Da PDF a CSV PDFToCSV.title=Da PDF a CSV
PDFToCSV.header=Da PDF a CSV PDFToCSV.header=Da PDF a CSV
PDFToCSV.prompt=Choose page to extract table PDFToCSV.prompt=Scegli la pagina per estrarre la tabella
PDFToCSV.submit=Estratto PDFToCSV.submit=Estratto
#split-by-size-or-count #split-by-size-or-count
split-by-size-or-count.header=Split PDF by Size or Count split-by-size-or-count.header=Dividi il PDF per dimensione o numero
split-by-size-or-count.type.label=Select Split Type split-by-size-or-count.type.label=Seleziona il tipo di divisione
split-by-size-or-count.type.size=By Size split-by-size-or-count.type.size=Per dimensione
split-by-size-or-count.type.pageCount=By Page Count split-by-size-or-count.type.pageCount=Per numero di pagine
split-by-size-or-count.type.docCount=By Document Count split-by-size-or-count.type.docCount=Per numero di documento
split-by-size-or-count.value.label=Enter Value split-by-size-or-count.value.label=Inserire il valore
split-by-size-or-count.value.placeholder=Enter size (e.g., 2MB or 3KB) or count (e.g., 5) split-by-size-or-count.value.placeholder=Inserisci la dimensione (ad esempio, 2 MB o 3 KB) o il numero (ad esempio, 5)
split-by-size-or-count.submit=Submit split-by-size-or-count.submit=Separa
#overlay-pdfs #overlay-pdfs
overlay-pdfs.header=Overlay PDF Files overlay-pdfs.header=Invia file PDF in sovrapposizione
overlay-pdfs.baseFile.label=Select Base PDF File overlay-pdfs.baseFile.label=Seleziona File PDF di base
overlay-pdfs.overlayFiles.label=Select Overlay PDF Files overlay-pdfs.overlayFiles.label=Seleziona sovrapposizione file PDF
overlay-pdfs.mode.label=Select Overlay Mode overlay-pdfs.mode.label=Seleziona la modalità di sovrapposizione
overlay-pdfs.mode.sequential=Sequential Overlay overlay-pdfs.mode.sequential=Sovrapposizione sequenziale
overlay-pdfs.mode.interleaved=Interleaved Overlay overlay-pdfs.mode.interleaved=Interleaved Overlay
overlay-pdfs.mode.fixedRepeat=Fixed Repeat Overlay overlay-pdfs.mode.fixedRepeat=Fixed Repeat Overlay
overlay-pdfs.counts.label=Overlay Counts (for Fixed Repeat Mode) overlay-pdfs.counts.label=Overlay Counts (for Fixed Repeat Mode)
overlay-pdfs.counts.placeholder=Enter comma-separated counts (e.g., 2,3,1) overlay-pdfs.counts.placeholder=Inserisci i numeri separati da virgole (ad esempio, 2,3,1)
overlay-pdfs.position.label=Select Overlay Position overlay-pdfs.position.label=Seleziona posizione di sovrapposizione
overlay-pdfs.position.foreground=Foreground overlay-pdfs.position.foreground=Primo piano
overlay-pdfs.position.background=Background overlay-pdfs.position.background=Sfondo
overlay-pdfs.submit=Submit overlay-pdfs.submit=Sovrapponi
#split-by-sections #split-by-sections
split-by-sections.title=Split PDF by Sections split-by-sections.title=Dividi PDF per sezioni
split-by-sections.header=Split PDF into Sections split-by-sections.header=Dividi il PDF in sezioni
split-by-sections.horizontal.label=Horizontal Divisions split-by-sections.horizontal.label=Divisioni orizzontali
split-by-sections.vertical.label=Vertical Divisions split-by-sections.vertical.label=Divisioni verticali
split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.horizontal.placeholder=Inserire il numero di divisioni orizzontali
split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.vertical.placeholder=Inserire il numero di divisioni verticali
split-by-sections.submit=Split PDF split-by-sections.submit=Dividi PDF

View file

@ -93,7 +93,6 @@ account.accountSettings=帐号设定
account.adminSettings=管理员设置 - 查看和添加用户 account.adminSettings=管理员设置 - 查看和添加用户
account.userControlSettings=用户控制设置 account.userControlSettings=用户控制设置
account.changeUsername=更改用户名 account.changeUsername=更改用户名
account.changeUsername=更改用户名
account.password=确认密码 account.password=确认密码
account.oldPassword=旧密码 account.oldPassword=旧密码
account.newPassword=新密码 account.newPassword=新密码
@ -126,12 +125,12 @@ adminUserSettings.submit=保存用户
# HOME-PAGE # # HOME-PAGE #
############# #############
home.desc=CZL一站式服务满足您的所有PDF需求。 home.desc=CZL一站式服务满足您的所有PDF需求。
home.searchBar=Search for features... home.searchBar=搜索您需要的功能...
home.viewPdf.title=View PDF home.viewPdf.title=浏览PDF
home.viewPdf.desc=View, annotate, add text or images home.viewPdf.desc=浏览、注释、添加文本或图像
viewPdf.tags=view,read,annotate,text,image viewPdf.tags=浏览、阅读、注释、文本、图像
home.multiTool.title=PDF多功能工具 home.multiTool.title=PDF多功能工具
home.multiTool.desc=合并、旋转、重新排列和删除PDF页面 home.multiTool.desc=合并、旋转、重新排列和删除PDF页面
@ -334,25 +333,25 @@ showJS.tags=JavaScript
home.autoRedact.title=自动删除 home.autoRedact.title=自动删除
home.autoRedact.desc=根据输入文本自动删除覆盖PDF中的文本 home.autoRedact.desc=根据输入文本自动删除覆盖PDF中的文本
showJS.tags=JavaScript autoRedact.tags=删除、覆盖、清理、清除、清除
home.tableExtraxt.title=PDF to CSV home.tableExtraxt.title=PDF to CSV
home.tableExtraxt.desc=Extracts Tables from a PDF converting it to CSV home.tableExtraxt.desc=从PDF中提取表格并将其转换为CSV
tableExtraxt.tags=CSV,Table Extraction,extract,convert tableExtraxt.tags=CSV、表格提取、提取、转换
home.autoSizeSplitPDF.title=Auto Split by Size/Count home.autoSizeSplitPDF.title= 自动根据大小/数目拆分PDF
home.autoSizeSplitPDF.desc=Split a single PDF into multiple documents based on size, page count, or document count home.autoSizeSplitPDF.desc=将单个PDF拆分为多个文档基于大小、页数或文档数
autoSizeSplitPDF.tags=pdf,split,document,organization autoSizeSplitPDF.tags=pdf、拆分、文件、组织
home.overlay-pdfs.title=Overlay PDFs home.overlay-pdfs.title=叠加PDF
home.overlay-pdfs.desc=Overlays PDFs on-top of another PDF home.overlay-pdfs.desc=将PDF叠加在另一个PDF上
overlay-pdfs.tags=Overlay overlay-pdfs.tags=叠加
home.split-by-sections.title=Split PDF by Sections home.split-by-sections.title=拆分PDF成小块
home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections home.split-by-sections.desc=将PDF的每一页分割成更小的水平和垂直的部分
split-by-sections.tags=Section Split, Divide, Customize split-by-sections.tags=章节拆分、分割、自定义
########################### ###########################
# # # #
@ -538,6 +537,10 @@ removeBlanks.whitePercent=白色百分比(%
removeBlanks.whitePercentDesc=必须为白色才能删除的页面百分比 removeBlanks.whitePercentDesc=必须为白色才能删除的页面百分比
removeBlanks.submit=删除空白 removeBlanks.submit=删除空白
# removeAnnotations
home.removeAnnotations.title=删除标注
home.removeAnnotations.desc=删除PDF中的所有标注/评论
removeAnnotations.tags=评论、高亮、笔记、标注、删除
#compare #compare
compare.title=比较 compare.title=比较
@ -791,7 +794,6 @@ changeMetadata.keywords=关键词:
changeMetadata.modDate=修改日期yyyy/MM/dd HH:mm:ss changeMetadata.modDate=修改日期yyyy/MM/dd HH:mm:ss
changeMetadata.producer=生产者: changeMetadata.producer=生产者:
changeMetadata.subject=主题: changeMetadata.subject=主题:
changeMetadata.title=标题:
changeMetadata.trapped=被困: changeMetadata.trapped=被困:
changeMetadata.selectText.4=其他元数据: changeMetadata.selectText.4=其他元数据:
changeMetadata.selectText.5=添加自定义元数据条目 changeMetadata.selectText.5=添加自定义元数据条目
@ -843,43 +845,43 @@ PDFToXML.credit=此服务使用LibreOffice进行文件转换。
PDFToXML.submit=转换 PDFToXML.submit=转换
#PDFToCSV #PDFToCSV
PDFToCSV.title=PDF ? CSV PDFToCSV.title=PDF To CSV
PDFToCSV.header=PDF ? CSV PDFToCSV.header=将 PDF 转换为 CSV
PDFToCSV.prompt=Choose page to extract table PDFToCSV.prompt=选择需要提取表格的页面
PDFToCSV.submit=?? PDFToCSV.submit=提取
#split-by-size-or-count #split-by-size-or-count
split-by-size-or-count.header=Split PDF by Size or Count split-by-size-or-count.header=按照大小或数目拆分PDF
split-by-size-or-count.type.label=Select Split Type split-by-size-or-count.type.label=选择拆分类型
split-by-size-or-count.type.size=By Size split-by-size-or-count.type.size=按照大小
split-by-size-or-count.type.pageCount=By Page Count split-by-size-or-count.type.pageCount=按照页数
split-by-size-or-count.type.docCount=By Document Count split-by-size-or-count.type.docCount=按照文档数
split-by-size-or-count.value.label=Enter Value split-by-size-or-count.value.label=输入数值
split-by-size-or-count.value.placeholder=Enter size (e.g., 2MB or 3KB) or count (e.g., 5) split-by-size-or-count.value.placeholder=输入大小例如2MB或3KB或数目例如5
split-by-size-or-count.submit=Submit split-by-size-or-count.submit=提交
#overlay-pdfs #overlay-pdfs
overlay-pdfs.header=Overlay PDF Files overlay-pdfs.header=叠加PDF文件
overlay-pdfs.baseFile.label=Select Base PDF File overlay-pdfs.baseFile.label=选择基础PDF文件
overlay-pdfs.overlayFiles.label=Select Overlay PDF Files overlay-pdfs.overlayFiles.label=选择需要叠加在基础上的PDF文件
overlay-pdfs.mode.label=Select Overlay Mode overlay-pdfs.mode.label=选择叠加模式
overlay-pdfs.mode.sequential=Sequential Overlay overlay-pdfs.mode.sequential=按顺序叠加
overlay-pdfs.mode.interleaved=Interleaved Overlay overlay-pdfs.mode.interleaved=交错叠加
overlay-pdfs.mode.fixedRepeat=Fixed Repeat Overlay overlay-pdfs.mode.fixedRepeat=固定重复叠加
overlay-pdfs.counts.label=Overlay Counts (for Fixed Repeat Mode) overlay-pdfs.counts.label=叠加次数(仅限固定重复叠加模式)
overlay-pdfs.counts.placeholder=Enter comma-separated counts (e.g., 2,3,1) overlay-pdfs.counts.placeholder=输入用逗号分隔的次数例如2,3,1
overlay-pdfs.position.label=Select Overlay Position overlay-pdfs.position.label=选择叠加位置
overlay-pdfs.position.foreground=Foreground overlay-pdfs.position.foreground=前面(上面)
overlay-pdfs.position.background=Background overlay-pdfs.position.background=后面(下面)
overlay-pdfs.submit=Submit overlay-pdfs.submit=提交
#split-by-sections #split-by-sections
split-by-sections.title=Split PDF by Sections split-by-sections.title=按照块Section拆分PDF
split-by-sections.header=Split PDF into Sections split-by-sections.header=将PDF拆分成块
split-by-sections.horizontal.label=Horizontal Divisions split-by-sections.horizontal.label=水平分割
split-by-sections.vertical.label=Vertical Divisions split-by-sections.vertical.label=垂直分割
split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.horizontal.placeholder=输入水平分割数
split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.vertical.placeholder=输入垂直分割数
split-by-sections.submit=Split PDF split-by-sections.submit=分割PDF

View file

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-id" viewBox="0 0 640 480">
<path fill="#e70011" d="M0 0h640v240H0Z"/>
<path fill="#fff" d="M0 240h640v240H0Z"/>
</svg>

After

Width:  |  Height:  |  Size: 178 B

View file

@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-in" viewBox="0 0 640 480">
<path fill="#f93" d="M0 0h640v160H0z"/>
<path fill="#fff" d="M0 160h640v160H0z"/>
<path fill="#128807" d="M0 320h640v160H0z"/>
<g transform="matrix(3.2 0 0 3.2 320 240)">
<circle r="20" fill="#008"/>
<circle r="17.5" fill="#fff"/>
<circle r="3.5" fill="#008"/>
<g id="in-d">
<g id="in-c">
<g id="in-b">
<g id="in-a" fill="#008">
<circle r=".9" transform="rotate(7.5 -8.8 133.5)"/>
<path d="M0 17.5.6 7 0 2l-.6 5z"/>
</g>
<use xlink:href="#in-a" width="100%" height="100%" transform="rotate(15)"/>
</g>
<use xlink:href="#in-b" width="100%" height="100%" transform="rotate(30)"/>
</g>
<use xlink:href="#in-c" width="100%" height="100%" transform="rotate(60)"/>
</g>
<use xlink:href="#in-d" width="100%" height="100%" transform="rotate(120)"/>
<use xlink:href="#in-d" width="100%" height="100%" transform="rotate(-120)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -1,5 +1,3 @@
class DragDropManager { class DragDropManager {
dragContainer; dragContainer;
wrapper; wrapper;
@ -47,16 +45,15 @@ class DragDropManager {
const img = div.querySelector('img'); const img = div.querySelector('img');
div.classList.add('drag-manager_dragging'); div.classList.add('drag-manager_dragging');
const imageSrc = img.src; const imageSrc = img.src;
const imgEl = document.createElement('img'); const imgEl = document.createElement('img');
imgEl.classList.add('dragged-img'); imgEl.classList.add('dragged-img');
imgEl.src = imageSrc; imgEl.src = imageSrc;
this.draggedImageEl = imgEl; this.draggedImageEl = imgEl;
imgEl.style.left = screenX; imgEl.style.visibility = 'hidden';
imgEl.style.right = screenY;
imgEl.style.transform = `rotate(${img.style.rotate === '' ? '0deg' : img.style.rotate}) translate(-50%, -50%)`; imgEl.style.transform = `rotate(${img.style.rotate === '' ? '0deg' : img.style.rotate}) translate(-50%, -50%)`;
this.dragContainer.appendChild(imgEl); this.dragContainer.appendChild(imgEl);
window.addEventListener('mouseup', this.stopDraggingPage) window.addEventListener('mouseup', this.stopDraggingPage)
window.addEventListener('mousemove', this.onDragEl) window.addEventListener('mousemove', this.onDragEl)
this.wrapper.classList.add('drag-manager_dragging-container'); this.wrapper.classList.add('drag-manager_dragging-container');
@ -66,12 +63,13 @@ class DragDropManager {
onDragEl(mouseEvent) { onDragEl(mouseEvent) {
const { clientX, clientY } = mouseEvent; const { clientX, clientY } = mouseEvent;
if(this.draggedImageEl) { if(this.draggedImageEl) {
this.draggedImageEl.style.visibility = 'visible';
this.draggedImageEl.style.left = `${clientX}px`; this.draggedImageEl.style.left = `${clientX}px`;
this.draggedImageEl.style.top = `${clientY}px`; this.draggedImageEl.style.top = `${clientY}px`;
} }
} }
stopDraggingPage() { stopDraggingPage() {
window.removeEventListener('mousemove', this.onDragEl); window.removeEventListener('mousemove', this.onDragEl);
this.wrapper.classList.remove('drag-manager_dragging-container'); this.wrapper.classList.remove('drag-manager_dragging-container');
@ -103,7 +101,7 @@ class DragDropManager {
const onDragStart = () => { const onDragStart = () => {
this.startDraggingPage(div); this.startDraggingPage(div);
} }
const onMouseEnter = () => { const onMouseEnter = () => {
if (this.pageDragging) { if (this.pageDragging) {
this.hoveredEl = div; this.hoveredEl = div;
@ -124,4 +122,4 @@ class DragDropManager {
} }
} }
export default DragDropManager; export default DragDropManager;

View file

@ -29,6 +29,9 @@
<a class="dropdown-item lang_dropdown-item" href="" data-bs-language-code="fr_FR"> <a class="dropdown-item lang_dropdown-item" href="" data-bs-language-code="fr_FR">
<img src="images/flags/fr.svg" alt="icon" width="20" height="15"> Français <img src="images/flags/fr.svg" alt="icon" width="20" height="15"> Français
</a> </a>
<a class="dropdown-item lang_dropdown-item" href="" data-bs-language-code="id_ID">
<img src="images/flags/id.svg" alt="icon" width="20" height="15"> Indonesia
</a>
<a class="dropdown-item lang_dropdown-item" href="" data-bs-language-code="it_IT"> <a class="dropdown-item lang_dropdown-item" href="" data-bs-language-code="it_IT">
<img src="images/flags/it.svg" alt="icon" width="20" height="15"> Italiano <img src="images/flags/it.svg" alt="icon" width="20" height="15"> Italiano
</a> </a>
@ -65,4 +68,7 @@
<a class="dropdown-item lang_dropdown-item" href="" data-bs-language-code="hu_HU"> <a class="dropdown-item lang_dropdown-item" href="" data-bs-language-code="hu_HU">
<img src="images/flags/hu.svg" alt="icon" width="20" height="15"> Hungarian <img src="images/flags/hu.svg" alt="icon" width="20" height="15"> Hungarian
</a> </a>
<a class="dropdown-item lang_dropdown-item" href="" data-bs-language-code="hi_IN">
<img src="images/flags/in.svg" alt="icon" width="20" height="15"> हिन्दी
</a>
</th:block> </th:block>

View file

@ -87,13 +87,13 @@
<div class="pageNumber" id="5" style="top: 50%; left: 50%;">5</div> <div class="pageNumber" id="5" style="top: 50%; left: 50%;">5</div>
<div class="pageNumber" id="6" style="top: 50%; left: 90%;">6</div> <div class="pageNumber" id="6" style="top: 50%; left: 90%;">6</div>
<div class="pageNumber" id="7" style="top: 90%; left: 10%;">7</div> <div class="pageNumber" id="7" style="top: 90%; left: 10%;">7</div>
<div class="pageNumber" id="8" style="top: 90%; left: 50%;">8</div> <div class="pageNumber selectedPosition" id="8" style="top: 90%; left: 50%;">8</div>
<div class="pageNumber" id="9" style="top: 90%; left: 90%;">9</div> <div class="pageNumber" id="9" style="top: 90%; left: 90%;">9</div>
</div> </div>
</div> </div>
<input type="hidden" id="numberInput" name="position" min="1" <input type="hidden" id="numberInput" name="position" min="1"
max="9" required> max="9" value="8" required />
<div class="mb-3"> <div class="mb-3">
<label for="startingNumber" th:text="#{addPageNumbers.selectText.4}"></label> <input <label for="startingNumber" th:text="#{addPageNumbers.selectText.4}"></label> <input
type="number" class="form-control" id="startingNumber" type="number" class="form-control" id="startingNumber"