mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2025-06-21 23:15:03 +00:00
Corrected api structure, updated deps, clean up
This commit is contained in:
parent
f16ddeb583
commit
7c8f9804d3
@ -27,5 +27,6 @@ dependencies {
|
|||||||
api 'jakarta.servlet:jakarta.servlet-api:6.1.0'
|
api 'jakarta.servlet:jakarta.servlet-api:6.1.0'
|
||||||
api 'org.snakeyaml:snakeyaml-engine:2.9'
|
api 'org.snakeyaml:snakeyaml-engine:2.9'
|
||||||
api "org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.9"
|
api "org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.9"
|
||||||
api 'com.sun.mail:jakarta.mail:2.0.1'
|
api 'jakarta.mail:jakarta.mail-api:2.1.3'
|
||||||
|
runtimeOnly 'org.eclipse.angus:angus-mail:2.0.3'
|
||||||
}
|
}
|
||||||
|
@ -9,22 +9,25 @@ import org.apache.pdfbox.pdmodel.PageMode;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class PDFAttachmentUtils {
|
public class AttachmentUtils {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the PDF catalog viewer preferences to display attachments in the viewer.
|
||||||
|
*
|
||||||
|
* @param document The <code>PDDocument</code> to modify.
|
||||||
|
* @param pageMode The <code>PageMode</code> to set for the PDF viewer. <code>PageMode</code>
|
||||||
|
* values: <code>UseNone</code>, <code>UseOutlines</code>, <code>UseThumbs</code>, <code>
|
||||||
|
* FullScreen</code>, <code>UseOC</code>, <code>UseAttachments</code>.
|
||||||
|
*/
|
||||||
public static void setCatalogViewerPreferences(PDDocument document, PageMode pageMode) {
|
public static void setCatalogViewerPreferences(PDDocument document, PageMode pageMode) {
|
||||||
try {
|
try {
|
||||||
PDDocumentCatalog catalog = document.getDocumentCatalog();
|
PDDocumentCatalog catalog = document.getDocumentCatalog();
|
||||||
if (catalog != null) {
|
if (catalog != null) {
|
||||||
// Get the catalog's COS dictionary to work with low-level PDF objects
|
|
||||||
COSDictionary catalogDict = catalog.getCOSObject();
|
COSDictionary catalogDict = catalog.getCOSObject();
|
||||||
|
|
||||||
// Set PageMode to UseAttachments - this is the standard PDF specification approach
|
|
||||||
// PageMode values: UseNone, UseOutlines, UseThumbs, FullScreen, UseOC,
|
|
||||||
// UseAttachments
|
|
||||||
catalog.setPageMode(pageMode);
|
catalog.setPageMode(pageMode);
|
||||||
catalogDict.setName(COSName.PAGE_MODE, pageMode.stringValue());
|
catalogDict.setName(COSName.PAGE_MODE, pageMode.stringValue());
|
||||||
|
|
||||||
// Also set viewer preferences for better attachment viewing experience
|
|
||||||
COSDictionary viewerPrefs =
|
COSDictionary viewerPrefs =
|
||||||
(COSDictionary) catalogDict.getDictionaryObject(COSName.VIEWER_PREFERENCES);
|
(COSDictionary) catalogDict.getDictionaryObject(COSName.VIEWER_PREFERENCES);
|
||||||
if (viewerPrefs == null) {
|
if (viewerPrefs == null) {
|
||||||
@ -32,19 +35,15 @@ public class PDFAttachmentUtils {
|
|||||||
catalogDict.setItem(COSName.VIEWER_PREFERENCES, viewerPrefs);
|
catalogDict.setItem(COSName.VIEWER_PREFERENCES, viewerPrefs);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set NonFullScreenPageMode to UseAttachments as fallback for viewers that support
|
|
||||||
// it
|
|
||||||
viewerPrefs.setName(
|
viewerPrefs.setName(
|
||||||
COSName.getPDFName("NonFullScreenPageMode"), pageMode.stringValue());
|
COSName.getPDFName("NonFullScreenPageMode"), pageMode.stringValue());
|
||||||
|
|
||||||
// Additional viewer preferences that may help with attachment display
|
|
||||||
viewerPrefs.setBoolean(COSName.getPDFName("DisplayDocTitle"), true);
|
viewerPrefs.setBoolean(COSName.getPDFName("DisplayDocTitle"), true);
|
||||||
|
|
||||||
log.info(
|
log.info(
|
||||||
"Set PDF PageMode to UseAttachments to automatically show attachments pane");
|
"Set PDF PageMode to UseAttachments to automatically show attachments pane");
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// Log error but don't fail the entire operation for viewer preferences
|
|
||||||
log.error("Failed to set catalog viewer preferences for attachments", e);
|
log.error("Failed to set catalog viewer preferences for attachments", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,6 +1,6 @@
|
|||||||
package stirling.software.common.util;
|
package stirling.software.common.util;
|
||||||
|
|
||||||
import static stirling.software.common.util.PDFAttachmentUtils.setCatalogViewerPreferences;
|
import static stirling.software.common.util.AttachmentUtils.setCatalogViewerPreferences;
|
||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
|
@ -84,9 +84,9 @@ public class EndpointConfiguration {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void disableGroup(String group) {
|
public void disableGroup(String group) {
|
||||||
Set<String> disabledEndpoints = endpointGroups.get(group);
|
Set<String> endpoints = endpointGroups.get(group);
|
||||||
if (disabledEndpoints != null) {
|
if (endpoints != null) {
|
||||||
for (String endpoint : disabledEndpoints) {
|
for (String endpoint : endpoints) {
|
||||||
disableEndpoint(endpoint);
|
disableEndpoint(endpoint);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,9 +5,9 @@ import java.util.List;
|
|||||||
|
|
||||||
import org.apache.pdfbox.pdmodel.PDDocument;
|
import org.apache.pdfbox.pdmodel.PDDocument;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
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;
|
||||||
|
|
||||||
@ -18,6 +18,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import stirling.software.SPDF.model.api.misc.AddAttachmentRequest;
|
||||||
import stirling.software.SPDF.service.AttachmentServiceInterface;
|
import stirling.software.SPDF.service.AttachmentServiceInterface;
|
||||||
import stirling.software.common.service.CustomPDFDocumentFactory;
|
import stirling.software.common.service.CustomPDFDocumentFactory;
|
||||||
import stirling.software.common.util.WebResponseUtils;
|
import stirling.software.common.util.WebResponseUtils;
|
||||||
@ -33,24 +34,23 @@ public class AttachmentController {
|
|||||||
|
|
||||||
private final AttachmentServiceInterface pdfAttachmentService;
|
private final AttachmentServiceInterface pdfAttachmentService;
|
||||||
|
|
||||||
@SuppressWarnings("DataFlowIssue")
|
|
||||||
@PostMapping(consumes = "multipart/form-data", value = "/add-attachments")
|
@PostMapping(consumes = "multipart/form-data", value = "/add-attachments")
|
||||||
@Operation(
|
@Operation(
|
||||||
summary = "Add attachments to PDF",
|
summary = "Add attachments to PDF",
|
||||||
description =
|
description =
|
||||||
"This endpoint adds embedded files (attachments) to a PDF and sets the PageMode to UseAttachments to make them visible. Input:PDF + Files Output:PDF Type:MISO")
|
"This endpoint adds attachments to a PDF. Input:PDF, Output:PDF Type:MISO")
|
||||||
public ResponseEntity<byte[]> addAttachments(
|
public ResponseEntity<byte[]> addAttachments(@ModelAttribute AddAttachmentRequest request)
|
||||||
@RequestParam("fileInput") MultipartFile pdfFile,
|
|
||||||
@RequestParam("attachments") List<MultipartFile> attachments)
|
|
||||||
throws IOException {
|
throws IOException {
|
||||||
|
MultipartFile fileInput = request.getFileInput();
|
||||||
|
List<MultipartFile> attachments = request.getAttachments();
|
||||||
|
|
||||||
PDDocument document =
|
PDDocument document =
|
||||||
pdfAttachmentService.addAttachment(
|
pdfAttachmentService.addAttachment(
|
||||||
pdfDocumentFactory.load(pdfFile, false), attachments);
|
pdfDocumentFactory.load(fileInput, false), attachments);
|
||||||
|
|
||||||
return WebResponseUtils.pdfDocToWebResponse(
|
return WebResponseUtils.pdfDocToWebResponse(
|
||||||
document,
|
document,
|
||||||
Filenames.toSimpleFileName(pdfFile.getOriginalFilename())
|
Filenames.toSimpleFileName(fileInput.getOriginalFilename())
|
||||||
.replaceFirst("[.][^.]+$", "")
|
.replaceFirst("[.][^.]+$", "")
|
||||||
+ "_with_attachments.pdf");
|
+ "_with_attachments.pdf");
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
package stirling.software.SPDF.model.api.misc;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import stirling.software.common.model.api.PDFFile;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class AddAttachmentRequest extends PDFFile {
|
||||||
|
|
||||||
|
@Schema(
|
||||||
|
description = "The image file to be overlaid onto the PDF.",
|
||||||
|
requiredMode = Schema.RequiredMode.REQUIRED,
|
||||||
|
format = "binary")
|
||||||
|
private List<MultipartFile> attachments;
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
package stirling.software.SPDF.service;
|
package stirling.software.SPDF.service;
|
||||||
|
|
||||||
import static stirling.software.common.util.PDFAttachmentUtils.setCatalogViewerPreferences;
|
import static stirling.software.common.util.AttachmentUtils.setCatalogViewerPreferences;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.GregorianCalendar;
|
import java.util.GregorianCalendar;
|
||||||
|
@ -1205,13 +1205,6 @@ addImage.everyPage=كل صفحة؟
|
|||||||
addImage.upload=إضافة صورة
|
addImage.upload=إضافة صورة
|
||||||
addImage.submit=إضافة صورة
|
addImage.submit=إضافة صورة
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=دمج
|
merge.title=دمج
|
||||||
@ -1601,7 +1594,6 @@ fileChooser.dragAndDropPDF=Drag & Drop PDF file
|
|||||||
fileChooser.dragAndDropImage=Drag & Drop Image file
|
fileChooser.dragAndDropImage=Drag & Drop Image file
|
||||||
fileChooser.hoveredDragAndDrop=قم بسحب المفات وإفلاتها هنا
|
fileChooser.hoveredDragAndDrop=قم بسحب المفات وإفلاتها هنا
|
||||||
fileChooser.extractPDF=جاري الاستخراج...
|
fileChooser.extractPDF=جاري الاستخراج...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Releases
|
releases.footer=Releases
|
||||||
|
@ -1594,7 +1594,6 @@ fileChooser.dragAndDropPDF=Drag & Drop PDF file
|
|||||||
fileChooser.dragAndDropImage=Drag & Drop Image file
|
fileChooser.dragAndDropImage=Drag & Drop Image file
|
||||||
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
||||||
fileChooser.extractPDF=Extracting...
|
fileChooser.extractPDF=Extracting...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Buraxılışlar
|
releases.footer=Buraxılışlar
|
||||||
|
@ -1594,7 +1594,6 @@ fileChooser.dragAndDropPDF=Влачете и пуснете PDF файл
|
|||||||
fileChooser.dragAndDropImage=Влачете и пуснете изображение
|
fileChooser.dragAndDropImage=Влачете и пуснете изображение
|
||||||
fileChooser.hoveredDragAndDrop=Влачете и пуснете файл(ове) тук
|
fileChooser.hoveredDragAndDrop=Влачете и пуснете файл(ове) тук
|
||||||
fileChooser.extractPDF=Извличане...
|
fileChooser.extractPDF=Извличане...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Версии
|
releases.footer=Версии
|
||||||
|
@ -1594,7 +1594,6 @@ fileChooser.dragAndDropPDF=PDF ཡིག་ཆ་འཐེན་ནས་འཇ
|
|||||||
fileChooser.dragAndDropImage=པར་རིས་ཡིག་ཆ་འཐེན་ནས་འཇོག་པ།
|
fileChooser.dragAndDropImage=པར་རིས་ཡིག་ཆ་འཐེན་ནས་འཇོག་པ།
|
||||||
fileChooser.hoveredDragAndDrop=ཡིག་ཆ་འདིར་འཐེན་ནས་འཇོག་པ།
|
fileChooser.hoveredDragAndDrop=ཡིག་ཆ་འདིར་འཐེན་ནས་འཇོག་པ།
|
||||||
fileChooser.extractPDF=འདོན་རིས་འགྱུར་བའི་སྒྲིག་བཏང་བ།
|
fileChooser.extractPDF=འདོན་རིས་འགྱུར་བའི་སྒྲིག་བཏང་བ།
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=པར་གཞི།
|
releases.footer=པར་གཞི།
|
||||||
|
@ -1594,7 +1594,7 @@ fileChooser.dragAndDropPDF=Arrossega i deixa anar un fitxer PDF
|
|||||||
fileChooser.dragAndDropImage=Arrossega i deixa anar un fitxer d'imatge
|
fileChooser.dragAndDropImage=Arrossega i deixa anar un fitxer d'imatge
|
||||||
fileChooser.hoveredDragAndDrop=Arrossega i deixa anar fitxer(s) aquí
|
fileChooser.hoveredDragAndDrop=Arrossega i deixa anar fitxer(s) aquí
|
||||||
fileChooser.extractPDF=Extracting...
|
fileChooser.extractPDF=Extracting...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Llançaments
|
releases.footer=Llançaments
|
||||||
releases.title=Notes de Llançament
|
releases.title=Notes de Llançament
|
||||||
|
@ -1594,7 +1594,7 @@ fileChooser.dragAndDropPDF=Přetáhnout PDF soubor
|
|||||||
fileChooser.dragAndDropImage=Přetáhnout obrázek
|
fileChooser.dragAndDropImage=Přetáhnout obrázek
|
||||||
fileChooser.hoveredDragAndDrop=Přetáhněte soubor(y) sem
|
fileChooser.hoveredDragAndDrop=Přetáhněte soubor(y) sem
|
||||||
fileChooser.extractPDF=Extrahování...
|
fileChooser.extractPDF=Extrahování...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Vydání
|
releases.footer=Vydání
|
||||||
releases.title=Poznámky k vydání
|
releases.title=Poznámky k vydání
|
||||||
|
@ -1594,7 +1594,7 @@ fileChooser.dragAndDropPDF=Drag & Drop PDF file
|
|||||||
fileChooser.dragAndDropImage=Drag & Drop Image file
|
fileChooser.dragAndDropImage=Drag & Drop Image file
|
||||||
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
||||||
fileChooser.extractPDF=Extracting...
|
fileChooser.extractPDF=Extracting...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Releases
|
releases.footer=Releases
|
||||||
releases.title=Release Notes
|
releases.title=Release Notes
|
||||||
|
@ -1594,7 +1594,6 @@ fileChooser.dragAndDropPDF=Drag & Drop PDF-Datei
|
|||||||
fileChooser.dragAndDropImage=Drag & Drop Bilddatei
|
fileChooser.dragAndDropImage=Drag & Drop Bilddatei
|
||||||
fileChooser.hoveredDragAndDrop=Datei(en) hierhin Ziehen & Fallenlassen
|
fileChooser.hoveredDragAndDrop=Datei(en) hierhin Ziehen & Fallenlassen
|
||||||
fileChooser.extractPDF=Extrahiere...
|
fileChooser.extractPDF=Extrahiere...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Veröffentlichungen
|
releases.footer=Veröffentlichungen
|
||||||
|
@ -1594,7 +1594,7 @@ fileChooser.dragAndDropPDF=Σύρετε & αφήστε αρχείο PDF
|
|||||||
fileChooser.dragAndDropImage=Σύρετε & αφήστε αρχείο εικόνας
|
fileChooser.dragAndDropImage=Σύρετε & αφήστε αρχείο εικόνας
|
||||||
fileChooser.hoveredDragAndDrop=Σύρετε & αφήστε αρχείο(α) εδώ
|
fileChooser.hoveredDragAndDrop=Σύρετε & αφήστε αρχείο(α) εδώ
|
||||||
fileChooser.extractPDF=Εξαγωγή...
|
fileChooser.extractPDF=Εξαγωγή...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Εκδόσεις
|
releases.footer=Εκδόσεις
|
||||||
releases.title=Σημειώσεις έκδοσης
|
releases.title=Σημειώσεις έκδοσης
|
||||||
|
@ -525,10 +525,6 @@ home.addImage.title=Add image
|
|||||||
home.addImage.desc=Adds a image onto a set location on the PDF
|
home.addImage.desc=Adds a image onto a set location on the PDF
|
||||||
addImage.tags=img,jpg,picture,photo
|
addImage.tags=img,jpg,picture,photo
|
||||||
|
|
||||||
home.attachments.title=Add Attachments
|
|
||||||
home.attachments.desc=Add or remove embedded files (attachments) to/from a PDF
|
|
||||||
attachments.tags=embed,attach,file,attachment,attachments
|
|
||||||
|
|
||||||
home.watermark.title=Add Watermark
|
home.watermark.title=Add Watermark
|
||||||
home.watermark.desc=Add a custom watermark to your PDF document.
|
home.watermark.desc=Add a custom watermark to your PDF document.
|
||||||
watermark.tags=Text,repeating,label,own,copyright,trademark,img,jpg,picture,photo
|
watermark.tags=Text,repeating,label,own,copyright,trademark,img,jpg,picture,photo
|
||||||
@ -537,6 +533,7 @@ home.permissions.title=Change Permissions
|
|||||||
home.permissions.desc=Change the permissions of your PDF document
|
home.permissions.desc=Change the permissions of your PDF document
|
||||||
permissions.tags=read,write,edit,print
|
permissions.tags=read,write,edit,print
|
||||||
|
|
||||||
|
|
||||||
home.removePages.title=Remove
|
home.removePages.title=Remove
|
||||||
home.removePages.desc=Delete unwanted pages from your PDF document.
|
home.removePages.desc=Delete unwanted pages from your PDF document.
|
||||||
removePages.tags=Remove pages,delete pages
|
removePages.tags=Remove pages,delete pages
|
||||||
@ -1209,14 +1206,6 @@ addImage.upload=Add image
|
|||||||
addImage.submit=Add image
|
addImage.submit=Add image
|
||||||
|
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Merge
|
merge.title=Merge
|
||||||
merge.header=Merge multiple PDFs (2+)
|
merge.header=Merge multiple PDFs (2+)
|
||||||
@ -1605,7 +1594,6 @@ fileChooser.dragAndDropPDF=Drag & Drop PDF file
|
|||||||
fileChooser.dragAndDropImage=Drag & Drop Image file
|
fileChooser.dragAndDropImage=Drag & Drop Image file
|
||||||
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
||||||
fileChooser.extractPDF=Extracting...
|
fileChooser.extractPDF=Extracting...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Releases
|
releases.footer=Releases
|
||||||
|
@ -1205,12 +1205,6 @@ addImage.everyPage=¿Todas las páginas?
|
|||||||
addImage.upload=Añadir imagen
|
addImage.upload=Añadir imagen
|
||||||
addImage.submit=Enviar imagen
|
addImage.submit=Enviar imagen
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Unir
|
merge.title=Unir
|
||||||
@ -1600,7 +1594,6 @@ fileChooser.dragAndDropPDF=Arrastrar & Soltar archivo PDF
|
|||||||
fileChooser.dragAndDropImage=Arrastrar & Soltar archivo de Imagen
|
fileChooser.dragAndDropImage=Arrastrar & Soltar archivo de Imagen
|
||||||
fileChooser.hoveredDragAndDrop=Arrastrar & Soltar archivos(s) aquí
|
fileChooser.hoveredDragAndDrop=Arrastrar & Soltar archivos(s) aquí
|
||||||
fileChooser.extractPDF=Extrayendo...
|
fileChooser.extractPDF=Extrayendo...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Versiones
|
releases.footer=Versiones
|
||||||
|
@ -1594,7 +1594,6 @@ fileChooser.dragAndDropPDF=Drag & Drop PDF file
|
|||||||
fileChooser.dragAndDropImage=Drag & Drop Image file
|
fileChooser.dragAndDropImage=Drag & Drop Image file
|
||||||
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
||||||
fileChooser.extractPDF=Extracting...
|
fileChooser.extractPDF=Extracting...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Releases
|
releases.footer=Releases
|
||||||
|
@ -1205,13 +1205,6 @@ addImage.everyPage=هر صفحه؟
|
|||||||
addImage.upload=افزودن تصویر
|
addImage.upload=افزودن تصویر
|
||||||
addImage.submit=افزودن تصویر
|
addImage.submit=افزودن تصویر
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=ادغام
|
merge.title=ادغام
|
||||||
@ -1601,7 +1594,6 @@ fileChooser.dragAndDropPDF=Drag & Drop PDF file
|
|||||||
fileChooser.dragAndDropImage=Drag & Drop Image file
|
fileChooser.dragAndDropImage=Drag & Drop Image file
|
||||||
fileChooser.hoveredDragAndDrop=فایل(های) خود را اینجا بکشید و رها کنید
|
fileChooser.hoveredDragAndDrop=فایل(های) خود را اینجا بکشید و رها کنید
|
||||||
fileChooser.extractPDF=در حال استخراج...
|
fileChooser.extractPDF=در حال استخراج...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=نسخهها
|
releases.footer=نسخهها
|
||||||
|
@ -1205,13 +1205,6 @@ addImage.everyPage=Toutes les pages ?
|
|||||||
addImage.upload=Télécharger une image
|
addImage.upload=Télécharger une image
|
||||||
addImage.submit=Ajouter une image
|
addImage.submit=Ajouter une image
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Fusionner
|
merge.title=Fusionner
|
||||||
@ -1601,7 +1594,6 @@ fileChooser.dragAndDropPDF=Drag & Drop PDF file
|
|||||||
fileChooser.dragAndDropImage=Drag & Drop Image file
|
fileChooser.dragAndDropImage=Drag & Drop Image file
|
||||||
fileChooser.hoveredDragAndDrop=Glisser & Déposer le(s) fichier(s) ici
|
fileChooser.hoveredDragAndDrop=Glisser & Déposer le(s) fichier(s) ici
|
||||||
fileChooser.extractPDF=Extraction en cours...
|
fileChooser.extractPDF=Extraction en cours...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Versions
|
releases.footer=Versions
|
||||||
|
@ -1205,13 +1205,6 @@ addImage.everyPage=Gach Leathanach?
|
|||||||
addImage.upload=Cuir íomhá leis
|
addImage.upload=Cuir íomhá leis
|
||||||
addImage.submit=Cuir íomhá leis
|
addImage.submit=Cuir íomhá leis
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Cumaisc
|
merge.title=Cumaisc
|
||||||
@ -1601,7 +1594,6 @@ fileChooser.dragAndDropPDF=Tarraing & Scaoil comhad PDF
|
|||||||
fileChooser.dragAndDropImage=Tarraing & Scaoil comhad Íomhá
|
fileChooser.dragAndDropImage=Tarraing & Scaoil comhad Íomhá
|
||||||
fileChooser.hoveredDragAndDrop=Tarraing agus scaoil comhad(í) anseo
|
fileChooser.hoveredDragAndDrop=Tarraing agus scaoil comhad(í) anseo
|
||||||
fileChooser.extractPDF=Ag Aistriú...
|
fileChooser.extractPDF=Ag Aistriú...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Eisiúintí
|
releases.footer=Eisiúintí
|
||||||
|
@ -1205,13 +1205,6 @@ addImage.everyPage=हर पृष्ठ?
|
|||||||
addImage.upload=छवि जोड़ें
|
addImage.upload=छवि जोड़ें
|
||||||
addImage.submit=छवि जोड़ें
|
addImage.submit=छवि जोड़ें
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=मर्ज करें
|
merge.title=मर्ज करें
|
||||||
@ -1601,7 +1594,6 @@ fileChooser.dragAndDropPDF=PDF फ़ाइल खींचें और छो
|
|||||||
fileChooser.dragAndDropImage=छवि फ़ाइल खींचें और छोड़ें
|
fileChooser.dragAndDropImage=छवि फ़ाइल खींचें और छोड़ें
|
||||||
fileChooser.hoveredDragAndDrop=फ़ाइल(ें) यहाँ खींचें और छोड़ें
|
fileChooser.hoveredDragAndDrop=फ़ाइल(ें) यहाँ खींचें और छोड़ें
|
||||||
fileChooser.extractPDF=निकालना...
|
fileChooser.extractPDF=निकालना...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=रिलीज़
|
releases.footer=रिलीज़
|
||||||
|
@ -1206,14 +1206,6 @@ addImage.upload=Dodaj sliku
|
|||||||
addImage.submit=Dodaj sliku
|
addImage.submit=Dodaj sliku
|
||||||
|
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Spajanje
|
merge.title=Spajanje
|
||||||
merge.header=Spajanje više PDF-ova (2+)
|
merge.header=Spajanje više PDF-ova (2+)
|
||||||
@ -1602,7 +1594,6 @@ fileChooser.dragAndDropPDF=Drag & Drop PDF file
|
|||||||
fileChooser.dragAndDropImage=Drag & Drop Image file
|
fileChooser.dragAndDropImage=Drag & Drop Image file
|
||||||
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
||||||
fileChooser.extractPDF=Extracting...
|
fileChooser.extractPDF=Extracting...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Releases
|
releases.footer=Releases
|
||||||
|
@ -1205,13 +1205,6 @@ addImage.everyPage=Minden oldalra?
|
|||||||
addImage.upload=Kép hozzáadása
|
addImage.upload=Kép hozzáadása
|
||||||
addImage.submit=Kép hozzáadása
|
addImage.submit=Kép hozzáadása
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Egyesítés
|
merge.title=Egyesítés
|
||||||
@ -1601,7 +1594,6 @@ fileChooser.dragAndDropPDF=Húzza ide a PDF fájlt
|
|||||||
fileChooser.dragAndDropImage=Húzza ide a képfájlt
|
fileChooser.dragAndDropImage=Húzza ide a képfájlt
|
||||||
fileChooser.hoveredDragAndDrop=Húzza ide a fájl(oka)t
|
fileChooser.hoveredDragAndDrop=Húzza ide a fájl(oka)t
|
||||||
fileChooser.extractPDF=Kinyerés...
|
fileChooser.extractPDF=Kinyerés...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Kiadási jegyzék
|
releases.footer=Kiadási jegyzék
|
||||||
|
@ -1206,14 +1206,6 @@ addImage.upload=Tambahkan Gambar
|
|||||||
addImage.submit=Tambahkan Gambar
|
addImage.submit=Tambahkan Gambar
|
||||||
|
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Gabungkan
|
merge.title=Gabungkan
|
||||||
merge.header=Gabungkan beberapa PDFs (2+)
|
merge.header=Gabungkan beberapa PDFs (2+)
|
||||||
@ -1602,7 +1594,6 @@ fileChooser.dragAndDropPDF=Drag & Drop PDF file
|
|||||||
fileChooser.dragAndDropImage=Drag & Drop Image file
|
fileChooser.dragAndDropImage=Drag & Drop Image file
|
||||||
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
||||||
fileChooser.extractPDF=Extracting...
|
fileChooser.extractPDF=Extracting...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Releases
|
releases.footer=Releases
|
||||||
|
@ -1205,13 +1205,6 @@ addImage.everyPage=Ogni pagina?
|
|||||||
addImage.upload=Aggiungi immagine
|
addImage.upload=Aggiungi immagine
|
||||||
addImage.submit=Aggiungi immagine
|
addImage.submit=Aggiungi immagine
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Unisci
|
merge.title=Unisci
|
||||||
@ -1601,7 +1594,6 @@ fileChooser.dragAndDropPDF=Trascina & rilascia il file PDF
|
|||||||
fileChooser.dragAndDropImage=Trascina & rilascia il file immagine
|
fileChooser.dragAndDropImage=Trascina & rilascia il file immagine
|
||||||
fileChooser.hoveredDragAndDrop=Trascina & rilascia i file qui
|
fileChooser.hoveredDragAndDrop=Trascina & rilascia i file qui
|
||||||
fileChooser.extractPDF=Estraendo...
|
fileChooser.extractPDF=Estraendo...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Rilasci
|
releases.footer=Rilasci
|
||||||
|
@ -1205,12 +1205,6 @@ addImage.everyPage=全ページ?
|
|||||||
addImage.upload=画像の追加
|
addImage.upload=画像の追加
|
||||||
addImage.submit=画像の追加
|
addImage.submit=画像の追加
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=結合
|
merge.title=結合
|
||||||
@ -1600,7 +1594,6 @@ fileChooser.dragAndDropPDF=PDFファイルをドラッグ&ドロップ
|
|||||||
fileChooser.dragAndDropImage=画像ファイルをドラッグ&ドロップ
|
fileChooser.dragAndDropImage=画像ファイルをドラッグ&ドロップ
|
||||||
fileChooser.hoveredDragAndDrop=ファイルをここにドラッグ&ドロップ
|
fileChooser.hoveredDragAndDrop=ファイルをここにドラッグ&ドロップ
|
||||||
fileChooser.extractPDF=抽出中...
|
fileChooser.extractPDF=抽出中...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=リリース
|
releases.footer=リリース
|
||||||
|
@ -1206,14 +1206,6 @@ addImage.upload=이미지 추가
|
|||||||
addImage.submit=이미지 추가
|
addImage.submit=이미지 추가
|
||||||
|
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=병합
|
merge.title=병합
|
||||||
merge.header=여러 PDF 병합 (2개 이상)
|
merge.header=여러 PDF 병합 (2개 이상)
|
||||||
@ -1602,7 +1594,6 @@ fileChooser.dragAndDropPDF=PDF 파일을 드래그 앤 드롭
|
|||||||
fileChooser.dragAndDropImage=이미지 파일을 드래그 앤 드롭
|
fileChooser.dragAndDropImage=이미지 파일을 드래그 앤 드롭
|
||||||
fileChooser.hoveredDragAndDrop=여기에 파일을 드래그 앤 드롭하세요
|
fileChooser.hoveredDragAndDrop=여기에 파일을 드래그 앤 드롭하세요
|
||||||
fileChooser.extractPDF=추출 중...
|
fileChooser.extractPDF=추출 중...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=릴리스
|
releases.footer=릴리스
|
||||||
|
@ -1205,13 +1205,6 @@ addImage.everyPage=എല്ലാ പേജിലും?
|
|||||||
addImage.upload=ചിത്രം ചേർക്കുക
|
addImage.upload=ചിത്രം ചേർക്കുക
|
||||||
addImage.submit=ചിത്രം ചേർക്കുക
|
addImage.submit=ചിത്രം ചേർക്കുക
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=ലയിപ്പിക്കുക
|
merge.title=ലയിപ്പിക്കുക
|
||||||
@ -1601,7 +1594,6 @@ fileChooser.dragAndDropPDF=PDF ഫയൽ വലിച്ചിടുക
|
|||||||
fileChooser.dragAndDropImage=ചിത്ര ഫയൽ വലിച്ചിടുക
|
fileChooser.dragAndDropImage=ചിത്ര ഫയൽ വലിച്ചിടുക
|
||||||
fileChooser.hoveredDragAndDrop=ഫയൽ(കൾ) ഇവിടെ വലിച്ചിടുക
|
fileChooser.hoveredDragAndDrop=ഫയൽ(കൾ) ഇവിടെ വലിച്ചിടുക
|
||||||
fileChooser.extractPDF=വേർതിരിച്ചെടുക്കുന്നു...
|
fileChooser.extractPDF=വേർതിരിച്ചെടുക്കുന്നു...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=റിലീസുകൾ
|
releases.footer=റിലീസുകൾ
|
||||||
|
@ -1206,14 +1206,6 @@ addImage.upload=Afbeelding toevoegen
|
|||||||
addImage.submit=Afbeelding toevoegen
|
addImage.submit=Afbeelding toevoegen
|
||||||
|
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Samenvoegen
|
merge.title=Samenvoegen
|
||||||
merge.header=Meerdere PDF's samenvoegen (2+)
|
merge.header=Meerdere PDF's samenvoegen (2+)
|
||||||
@ -1602,7 +1594,6 @@ fileChooser.dragAndDropPDF=Drag & Drop PDF file
|
|||||||
fileChooser.dragAndDropImage=Drag & Drop Image file
|
fileChooser.dragAndDropImage=Drag & Drop Image file
|
||||||
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
||||||
fileChooser.extractPDF=Extracting...
|
fileChooser.extractPDF=Extracting...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Releases
|
releases.footer=Releases
|
||||||
|
@ -1205,13 +1205,6 @@ addImage.everyPage=På hver side?
|
|||||||
addImage.upload=Legg til bilde
|
addImage.upload=Legg til bilde
|
||||||
addImage.submit=Legg til bilde
|
addImage.submit=Legg til bilde
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Slå sammen
|
merge.title=Slå sammen
|
||||||
@ -1601,7 +1594,6 @@ fileChooser.dragAndDropPDF=Drag & Drop PDF file
|
|||||||
fileChooser.dragAndDropImage=Drag & Drop Image file
|
fileChooser.dragAndDropImage=Drag & Drop Image file
|
||||||
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
||||||
fileChooser.extractPDF=Extracting...
|
fileChooser.extractPDF=Extracting...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Versjoner
|
releases.footer=Versjoner
|
||||||
|
@ -1206,14 +1206,6 @@ addImage.upload=Dodaj obraz
|
|||||||
addImage.submit=Dodaj obraz
|
addImage.submit=Dodaj obraz
|
||||||
|
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Połącz
|
merge.title=Połącz
|
||||||
merge.header=Połącz wiele dokumentów PDF (2+)
|
merge.header=Połącz wiele dokumentów PDF (2+)
|
||||||
@ -1602,7 +1594,6 @@ fileChooser.dragAndDropPDF=Przeciągnij i upuść plik PDF
|
|||||||
fileChooser.dragAndDropImage=Przeciągnij i upuść plik obrazu
|
fileChooser.dragAndDropImage=Przeciągnij i upuść plik obrazu
|
||||||
fileChooser.hoveredDragAndDrop=Przeciągnij i upuść plik(i) tutaj
|
fileChooser.hoveredDragAndDrop=Przeciągnij i upuść plik(i) tutaj
|
||||||
fileChooser.extractPDF=Trwa wyodrębnianie...
|
fileChooser.extractPDF=Trwa wyodrębnianie...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Wydania
|
releases.footer=Wydania
|
||||||
|
@ -1206,14 +1206,6 @@ addImage.upload=Carregar imagem
|
|||||||
addImage.submit=Adicionar imagem
|
addImage.submit=Adicionar imagem
|
||||||
|
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Mesclar
|
merge.title=Mesclar
|
||||||
merge.header=Mesclar
|
merge.header=Mesclar
|
||||||
@ -1602,7 +1594,6 @@ fileChooser.dragAndDropPDF=Arraste & Solte PDF(s)
|
|||||||
fileChooser.dragAndDropImage=Arraste & Solte Imagem(ns)
|
fileChooser.dragAndDropImage=Arraste & Solte Imagem(ns)
|
||||||
fileChooser.hoveredDragAndDrop=Arraste & Solte arquivo(s) aqui
|
fileChooser.hoveredDragAndDrop=Arraste & Solte arquivo(s) aqui
|
||||||
fileChooser.extractPDF=Extraindo...
|
fileChooser.extractPDF=Extraindo...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Versões
|
releases.footer=Versões
|
||||||
|
@ -1206,14 +1206,6 @@ addImage.upload=Adicionar imagem
|
|||||||
addImage.submit=Adicionar imagem
|
addImage.submit=Adicionar imagem
|
||||||
|
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Juntar
|
merge.title=Juntar
|
||||||
merge.header=Juntar múltiplos PDFs (2+)
|
merge.header=Juntar múltiplos PDFs (2+)
|
||||||
@ -1602,7 +1594,6 @@ fileChooser.dragAndDropPDF=Arrastar e Largar ficheiro PDF
|
|||||||
fileChooser.dragAndDropImage=Arrastar e Largar ficheiro de Imagem
|
fileChooser.dragAndDropImage=Arrastar e Largar ficheiro de Imagem
|
||||||
fileChooser.hoveredDragAndDrop=Arrastar e Largar ficheiro(s) aqui
|
fileChooser.hoveredDragAndDrop=Arrastar e Largar ficheiro(s) aqui
|
||||||
fileChooser.extractPDF=Extraindo...
|
fileChooser.extractPDF=Extraindo...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Lançamentos
|
releases.footer=Lançamentos
|
||||||
|
@ -1206,14 +1206,6 @@ addImage.upload=Adăugare imagine
|
|||||||
addImage.submit=Adăugare imagine
|
addImage.submit=Adăugare imagine
|
||||||
|
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Unire
|
merge.title=Unire
|
||||||
merge.header=Unirea mai multor PDF-uri (2+)
|
merge.header=Unirea mai multor PDF-uri (2+)
|
||||||
@ -1602,7 +1594,6 @@ fileChooser.dragAndDropPDF=Drag & Drop PDF file
|
|||||||
fileChooser.dragAndDropImage=Drag & Drop Image file
|
fileChooser.dragAndDropImage=Drag & Drop Image file
|
||||||
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
||||||
fileChooser.extractPDF=Extracting...
|
fileChooser.extractPDF=Extracting...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Releases
|
releases.footer=Releases
|
||||||
|
@ -1205,13 +1205,6 @@ addImage.everyPage=Каждая страница?
|
|||||||
addImage.upload=Добавить изображение
|
addImage.upload=Добавить изображение
|
||||||
addImage.submit=Добавить изображение
|
addImage.submit=Добавить изображение
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Объединить
|
merge.title=Объединить
|
||||||
@ -1601,7 +1594,6 @@ fileChooser.dragAndDropPDF=Перетащите PDF-файл
|
|||||||
fileChooser.dragAndDropImage=Перетащите файл изображения
|
fileChooser.dragAndDropImage=Перетащите файл изображения
|
||||||
fileChooser.hoveredDragAndDrop=Перетащите файл(ы) сюда
|
fileChooser.hoveredDragAndDrop=Перетащите файл(ы) сюда
|
||||||
fileChooser.extractPDF=Извлечение...
|
fileChooser.extractPDF=Извлечение...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Релизы
|
releases.footer=Релизы
|
||||||
|
@ -1205,13 +1205,6 @@ addImage.everyPage=Každá stránka?
|
|||||||
addImage.upload=Pridať obrázok
|
addImage.upload=Pridať obrázok
|
||||||
addImage.submit=Pridať obrázok
|
addImage.submit=Pridať obrázok
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Zlúčiť
|
merge.title=Zlúčiť
|
||||||
@ -1601,7 +1594,6 @@ fileChooser.dragAndDropPDF=Drag & Drop PDF file
|
|||||||
fileChooser.dragAndDropImage=Drag & Drop Image file
|
fileChooser.dragAndDropImage=Drag & Drop Image file
|
||||||
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
||||||
fileChooser.extractPDF=Extracting...
|
fileChooser.extractPDF=Extracting...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Releases
|
releases.footer=Releases
|
||||||
|
@ -1206,14 +1206,6 @@ addImage.upload=Dodaj sliko
|
|||||||
addImage.submit=Dodaj sliko
|
addImage.submit=Dodaj sliko
|
||||||
|
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Združi
|
merge.title=Združi
|
||||||
merge.header=Združi več PDF-jev (2+)
|
merge.header=Združi več PDF-jev (2+)
|
||||||
@ -1602,7 +1594,6 @@ fileChooser.dragAndDropPDF=Povleci in spusti datoteko PDF
|
|||||||
fileChooser.dragAndDropImage=Povleci in spusti slikovno datoteko
|
fileChooser.dragAndDropImage=Povleci in spusti slikovno datoteko
|
||||||
fileChooser.hoveredDragAndDrop=Povleci in spusti datoteko(e) sem
|
fileChooser.hoveredDragAndDrop=Povleci in spusti datoteko(e) sem
|
||||||
fileChooser.extractPDF=Izvlečenje...
|
fileChooser.extractPDF=Izvlečenje...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Izdaje
|
releases.footer=Izdaje
|
||||||
|
@ -1206,14 +1206,6 @@ addImage.upload=Dodaj sliku
|
|||||||
addImage.submit=Dodaj sliku
|
addImage.submit=Dodaj sliku
|
||||||
|
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Spajanje
|
merge.title=Spajanje
|
||||||
merge.header=Spajanje više PDF fajlova (2+)
|
merge.header=Spajanje više PDF fajlova (2+)
|
||||||
@ -1602,7 +1594,6 @@ fileChooser.dragAndDropPDF=Drag & Drop PDF file
|
|||||||
fileChooser.dragAndDropImage=Drag & Drop Image file
|
fileChooser.dragAndDropImage=Drag & Drop Image file
|
||||||
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
||||||
fileChooser.extractPDF=Extracting...
|
fileChooser.extractPDF=Extracting...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Releases
|
releases.footer=Releases
|
||||||
|
@ -1205,13 +1205,6 @@ addImage.everyPage=Varje sida?
|
|||||||
addImage.upload=Lägg till bild
|
addImage.upload=Lägg till bild
|
||||||
addImage.submit=Lägg till bild
|
addImage.submit=Lägg till bild
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Sammanfoga
|
merge.title=Sammanfoga
|
||||||
@ -1601,7 +1594,6 @@ fileChooser.dragAndDropPDF=Dra & Släpp PDF fil
|
|||||||
fileChooser.dragAndDropImage=Dra & Släpp bildfil
|
fileChooser.dragAndDropImage=Dra & Släpp bildfil
|
||||||
fileChooser.hoveredDragAndDrop=Dra & Släpp fil(er) här
|
fileChooser.hoveredDragAndDrop=Dra & Släpp fil(er) här
|
||||||
fileChooser.extractPDF=Extraherar...
|
fileChooser.extractPDF=Extraherar...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Utgåvor
|
releases.footer=Utgåvor
|
||||||
|
@ -1205,13 +1205,6 @@ addImage.everyPage=ทุกหน้า?
|
|||||||
addImage.upload=เพิ่มรูปภาพ
|
addImage.upload=เพิ่มรูปภาพ
|
||||||
addImage.submit=เพิ่มรูปภาพ
|
addImage.submit=เพิ่มรูปภาพ
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=รวม
|
merge.title=รวม
|
||||||
@ -1601,7 +1594,6 @@ fileChooser.dragAndDropPDF=Drag & Drop PDF file
|
|||||||
fileChooser.dragAndDropImage=Drag & Drop Image file
|
fileChooser.dragAndDropImage=Drag & Drop Image file
|
||||||
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
||||||
fileChooser.extractPDF=Extracting...
|
fileChooser.extractPDF=Extracting...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Releases
|
releases.footer=Releases
|
||||||
|
@ -1205,13 +1205,6 @@ addImage.everyPage=Her Sayfa mı?
|
|||||||
addImage.upload=Resim ekle
|
addImage.upload=Resim ekle
|
||||||
addImage.submit=Resim ekle
|
addImage.submit=Resim ekle
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Birleştir
|
merge.title=Birleştir
|
||||||
@ -1601,7 +1594,6 @@ fileChooser.dragAndDropPDF=PDF dosyasını Sürükle & Bırak
|
|||||||
fileChooser.dragAndDropImage=Görsel dosyasını Sürükle & Bırak
|
fileChooser.dragAndDropImage=Görsel dosyasını Sürükle & Bırak
|
||||||
fileChooser.hoveredDragAndDrop=Dosya(lar)ı buraya sürükleyip bırakın
|
fileChooser.hoveredDragAndDrop=Dosya(lar)ı buraya sürükleyip bırakın
|
||||||
fileChooser.extractPDF=PDF Çıkarılıyor...
|
fileChooser.extractPDF=PDF Çıkarılıyor...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Sürümler
|
releases.footer=Sürümler
|
||||||
|
@ -1206,14 +1206,6 @@ addImage.upload=Додати зображення
|
|||||||
addImage.submit=Додати зображення
|
addImage.submit=Додати зображення
|
||||||
|
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Об'єднати
|
merge.title=Об'єднати
|
||||||
merge.header=Об'єднання кількох PDF-файлів (2+)
|
merge.header=Об'єднання кількох PDF-файлів (2+)
|
||||||
@ -1602,7 +1594,6 @@ fileChooser.dragAndDropPDF=Перетащите PDF-файл
|
|||||||
fileChooser.dragAndDropImage=Перетащите файл зображення
|
fileChooser.dragAndDropImage=Перетащите файл зображення
|
||||||
fileChooser.hoveredDragAndDrop=Перетащите файл(и) сюда
|
fileChooser.hoveredDragAndDrop=Перетащите файл(и) сюда
|
||||||
fileChooser.extractPDF=Видобування...
|
fileChooser.extractPDF=Видобування...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Релізи
|
releases.footer=Релізи
|
||||||
|
@ -1206,14 +1206,6 @@ addImage.upload=Thêm hình ảnh
|
|||||||
addImage.submit=Thêm hình ảnh
|
addImage.submit=Thêm hình ảnh
|
||||||
|
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=Trộn
|
merge.title=Trộn
|
||||||
merge.header=Trộn nhiều PDF (2+)
|
merge.header=Trộn nhiều PDF (2+)
|
||||||
@ -1602,7 +1594,6 @@ fileChooser.dragAndDropPDF=Drag & Drop PDF file
|
|||||||
fileChooser.dragAndDropImage=Drag & Drop Image file
|
fileChooser.dragAndDropImage=Drag & Drop Image file
|
||||||
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
|
||||||
fileChooser.extractPDF=Extracting...
|
fileChooser.extractPDF=Extracting...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Releases
|
releases.footer=Releases
|
||||||
|
@ -1206,14 +1206,6 @@ addImage.upload=添加图片
|
|||||||
addImage.submit=添加图片
|
addImage.submit=添加图片
|
||||||
|
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=合并
|
merge.title=合并
|
||||||
merge.header=合并多个 PDF(2个以上)。
|
merge.header=合并多个 PDF(2个以上)。
|
||||||
@ -1602,7 +1594,6 @@ fileChooser.dragAndDropPDF=拖放PDF文件
|
|||||||
fileChooser.dragAndDropImage=拖放图片文件
|
fileChooser.dragAndDropImage=拖放图片文件
|
||||||
fileChooser.hoveredDragAndDrop=拖放文件到此处
|
fileChooser.hoveredDragAndDrop=拖放文件到此处
|
||||||
fileChooser.extractPDF=处理中...
|
fileChooser.extractPDF=处理中...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=版本
|
releases.footer=版本
|
||||||
|
@ -1206,14 +1206,6 @@ addImage.upload=新增圖片
|
|||||||
addImage.submit=新增圖片
|
addImage.submit=新增圖片
|
||||||
|
|
||||||
|
|
||||||
#attachments
|
|
||||||
attachments.title=Add Attachments
|
|
||||||
attachments.header=Add attachments
|
|
||||||
attachments.description=Allows you to add attachments to the PDF
|
|
||||||
attachments.descriptionPlaceholder=Enter a description for the attachments...
|
|
||||||
attachments.addButton=Add Attachments
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
#merge
|
||||||
merge.title=合併
|
merge.title=合併
|
||||||
merge.header=合併多個 PDF
|
merge.header=合併多個 PDF
|
||||||
@ -1602,7 +1594,6 @@ fileChooser.dragAndDropPDF=拖放 PDF 檔案
|
|||||||
fileChooser.dragAndDropImage=拖放圖片檔案
|
fileChooser.dragAndDropImage=拖放圖片檔案
|
||||||
fileChooser.hoveredDragAndDrop=將檔案拖放至此
|
fileChooser.hoveredDragAndDrop=將檔案拖放至此
|
||||||
fileChooser.extractPDF=處理中...
|
fileChooser.extractPDF=處理中...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=版本資訊
|
releases.footer=版本資訊
|
||||||
|
@ -105,9 +105,6 @@
|
|||||||
<div
|
<div
|
||||||
th:replace="~{fragments/navbarEntry :: navbarEntry('img-to-pdf', 'picture_as_pdf', 'home.imageToPdf.title', 'home.imageToPdf.desc', 'imageToPdf.tags', 'convertto')}">
|
th:replace="~{fragments/navbarEntry :: navbarEntry('img-to-pdf', 'picture_as_pdf', 'home.imageToPdf.title', 'home.imageToPdf.desc', 'imageToPdf.tags', 'convertto')}">
|
||||||
</div>
|
</div>
|
||||||
<div
|
|
||||||
th:replace="~{fragments/navbarEntry :: navbarEntry('eml-to-pdf', 'email', 'home.EMLToPDF.title', 'home.EMLToPDF.desc', 'EMLToPDF.tags', 'convertto')}">
|
|
||||||
</div>
|
|
||||||
<div
|
<div
|
||||||
th:replace="~{fragments/navbarEntry :: navbarEntry('file-to-pdf', 'draft', 'home.fileToPDF.title', 'home.fileToPDF.desc', 'fileToPDF.tags', 'convertto')}">
|
th:replace="~{fragments/navbarEntry :: navbarEntry('file-to-pdf', 'draft', 'home.fileToPDF.title', 'home.fileToPDF.desc', 'fileToPDF.tags', 'convertto')}">
|
||||||
</div>
|
</div>
|
||||||
|
@ -21,6 +21,7 @@ import org.springframework.http.ResponseEntity;
|
|||||||
import org.springframework.mock.web.MockMultipartFile;
|
import org.springframework.mock.web.MockMultipartFile;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import stirling.software.SPDF.model.api.misc.AddAttachmentRequest;
|
||||||
import stirling.software.SPDF.service.AttachmentServiceInterface;
|
import stirling.software.SPDF.service.AttachmentServiceInterface;
|
||||||
import stirling.software.common.service.CustomPDFDocumentFactory;
|
import stirling.software.common.service.CustomPDFDocumentFactory;
|
||||||
import stirling.software.common.util.WebResponseUtils;
|
import stirling.software.common.util.WebResponseUtils;
|
||||||
@ -40,6 +41,7 @@ class AttachmentControllerTest {
|
|||||||
private MockMultipartFile pdfFile;
|
private MockMultipartFile pdfFile;
|
||||||
private MockMultipartFile attachment1;
|
private MockMultipartFile attachment1;
|
||||||
private MockMultipartFile attachment2;
|
private MockMultipartFile attachment2;
|
||||||
|
private AddAttachmentRequest request;
|
||||||
private PDDocument mockDocument;
|
private PDDocument mockDocument;
|
||||||
private PDDocument modifiedMockDocument;
|
private PDDocument modifiedMockDocument;
|
||||||
|
|
||||||
@ -48,7 +50,7 @@ class AttachmentControllerTest {
|
|||||||
pdfFile = new MockMultipartFile("fileInput", "test.pdf", "application/pdf", "PDF content".getBytes());
|
pdfFile = new MockMultipartFile("fileInput", "test.pdf", "application/pdf", "PDF content".getBytes());
|
||||||
attachment1 = new MockMultipartFile("attachment1", "file1.txt", "text/plain", "File 1 content".getBytes());
|
attachment1 = new MockMultipartFile("attachment1", "file1.txt", "text/plain", "File 1 content".getBytes());
|
||||||
attachment2 = new MockMultipartFile("attachment2", "file2.jpg", "image/jpeg", "Image content".getBytes());
|
attachment2 = new MockMultipartFile("attachment2", "file2.jpg", "image/jpeg", "Image content".getBytes());
|
||||||
|
request = new AddAttachmentRequest();
|
||||||
mockDocument = mock(PDDocument.class);
|
mockDocument = mock(PDDocument.class);
|
||||||
modifiedMockDocument = mock(PDDocument.class);
|
modifiedMockDocument = mock(PDDocument.class);
|
||||||
}
|
}
|
||||||
@ -56,6 +58,8 @@ class AttachmentControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
void addAttachments_Success() throws IOException {
|
void addAttachments_Success() throws IOException {
|
||||||
List<MultipartFile> attachments = List.of(attachment1, attachment2);
|
List<MultipartFile> attachments = List.of(attachment1, attachment2);
|
||||||
|
request.setAttachments(attachments);
|
||||||
|
request.setFileInput(pdfFile);
|
||||||
ResponseEntity<byte[]> expectedResponse = ResponseEntity.ok("modified PDF content".getBytes());
|
ResponseEntity<byte[]> expectedResponse = ResponseEntity.ok("modified PDF content".getBytes());
|
||||||
|
|
||||||
when(pdfDocumentFactory.load(pdfFile, false)).thenReturn(mockDocument);
|
when(pdfDocumentFactory.load(pdfFile, false)).thenReturn(mockDocument);
|
||||||
@ -65,7 +69,7 @@ class AttachmentControllerTest {
|
|||||||
mockedWebResponseUtils.when(() -> WebResponseUtils.pdfDocToWebResponse(eq(modifiedMockDocument), eq("test_with_attachments.pdf")))
|
mockedWebResponseUtils.when(() -> WebResponseUtils.pdfDocToWebResponse(eq(modifiedMockDocument), eq("test_with_attachments.pdf")))
|
||||||
.thenReturn(expectedResponse);
|
.thenReturn(expectedResponse);
|
||||||
|
|
||||||
ResponseEntity<byte[]> response = attachmentController.addAttachments(pdfFile, attachments);
|
ResponseEntity<byte[]> response = attachmentController.addAttachments(request);
|
||||||
|
|
||||||
assertNotNull(response);
|
assertNotNull(response);
|
||||||
assertEquals(HttpStatus.OK, response.getStatusCode());
|
assertEquals(HttpStatus.OK, response.getStatusCode());
|
||||||
@ -78,6 +82,8 @@ class AttachmentControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
void addAttachments_SingleAttachment() throws IOException {
|
void addAttachments_SingleAttachment() throws IOException {
|
||||||
List<MultipartFile> attachments = List.of(attachment1);
|
List<MultipartFile> attachments = List.of(attachment1);
|
||||||
|
request.setAttachments(attachments);
|
||||||
|
request.setFileInput(pdfFile);
|
||||||
ResponseEntity<byte[]> expectedResponse = ResponseEntity.ok("modified PDF content".getBytes());
|
ResponseEntity<byte[]> expectedResponse = ResponseEntity.ok("modified PDF content".getBytes());
|
||||||
|
|
||||||
when(pdfDocumentFactory.load(pdfFile, false)).thenReturn(mockDocument);
|
when(pdfDocumentFactory.load(pdfFile, false)).thenReturn(mockDocument);
|
||||||
@ -87,7 +93,7 @@ class AttachmentControllerTest {
|
|||||||
mockedWebResponseUtils.when(() -> WebResponseUtils.pdfDocToWebResponse(eq(modifiedMockDocument), eq("test_with_attachments.pdf")))
|
mockedWebResponseUtils.when(() -> WebResponseUtils.pdfDocToWebResponse(eq(modifiedMockDocument), eq("test_with_attachments.pdf")))
|
||||||
.thenReturn(expectedResponse);
|
.thenReturn(expectedResponse);
|
||||||
|
|
||||||
ResponseEntity<byte[]> response = attachmentController.addAttachments(pdfFile, attachments);
|
ResponseEntity<byte[]> response = attachmentController.addAttachments(request);
|
||||||
|
|
||||||
assertNotNull(response);
|
assertNotNull(response);
|
||||||
assertEquals(HttpStatus.OK, response.getStatusCode());
|
assertEquals(HttpStatus.OK, response.getStatusCode());
|
||||||
@ -100,11 +106,13 @@ class AttachmentControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
void addAttachments_IOExceptionFromPDFLoad() throws IOException {
|
void addAttachments_IOExceptionFromPDFLoad() throws IOException {
|
||||||
List<MultipartFile> attachments = List.of(attachment1);
|
List<MultipartFile> attachments = List.of(attachment1);
|
||||||
|
request.setAttachments(attachments);
|
||||||
|
request.setFileInput(pdfFile);
|
||||||
IOException ioException = new IOException("Failed to load PDF");
|
IOException ioException = new IOException("Failed to load PDF");
|
||||||
|
|
||||||
when(pdfDocumentFactory.load(pdfFile, false)).thenThrow(ioException);
|
when(pdfDocumentFactory.load(pdfFile, false)).thenThrow(ioException);
|
||||||
|
|
||||||
assertThrows(IOException.class, () -> attachmentController.addAttachments(pdfFile, attachments));
|
assertThrows(IOException.class, () -> attachmentController.addAttachments(request));
|
||||||
verify(pdfDocumentFactory).load(pdfFile, false);
|
verify(pdfDocumentFactory).load(pdfFile, false);
|
||||||
verifyNoInteractions(pdfAttachmentService);
|
verifyNoInteractions(pdfAttachmentService);
|
||||||
}
|
}
|
||||||
@ -112,12 +120,14 @@ class AttachmentControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
void addAttachments_IOExceptionFromAttachmentService() throws IOException {
|
void addAttachments_IOExceptionFromAttachmentService() throws IOException {
|
||||||
List<MultipartFile> attachments = List.of(attachment1);
|
List<MultipartFile> attachments = List.of(attachment1);
|
||||||
|
request.setAttachments(attachments);
|
||||||
|
request.setFileInput(pdfFile);
|
||||||
IOException ioException = new IOException("Failed to add attachment");
|
IOException ioException = new IOException("Failed to add attachment");
|
||||||
|
|
||||||
when(pdfDocumentFactory.load(pdfFile, false)).thenReturn(mockDocument);
|
when(pdfDocumentFactory.load(pdfFile, false)).thenReturn(mockDocument);
|
||||||
when(pdfAttachmentService.addAttachment(mockDocument, attachments)).thenThrow(ioException);
|
when(pdfAttachmentService.addAttachment(mockDocument, attachments)).thenThrow(ioException);
|
||||||
|
|
||||||
assertThrows(IOException.class, () -> attachmentController.addAttachments(pdfFile, attachments));
|
assertThrows(IOException.class, () -> attachmentController.addAttachments(request));
|
||||||
verify(pdfAttachmentService).addAttachment(mockDocument, attachments);
|
verify(pdfAttachmentService).addAttachment(mockDocument, attachments);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user