Мы можем прикреплять к PDF-файлу различные типы файлов, такие как PDF, Word, Excel, TXT и изображения. В этой статье мы покажем вам, как добавлять, извлекать и удалять вложения в PDF-файл на Java с помощью Free Spire.PDF для Java библиотека.
Зависимости
Прежде всего, вам нужно добавить необходимые зависимости для включения Free Spire.PDF для Java в ваш Java-проект. Есть два способа сделать это. Если вы используете maven, вам необходимо добавить следующий код в свой проект pom.xml файл.
com.e-iceblue e-iceblue http://repo.e-iceblue.com/nexus/content/groups/public/ e-iceblue spire.pdf.free 2.6.3
Для проектов, не связанных с maven, скачайте бесплатно Spire.PDF для пакета Java с |/этого веб-сайта и добавьте Spire.Pdf.jar в папке lib в вашем проекте в качестве зависимости.
Добавление вложений
Библиотека предоставляет Коллекцию вложений Pdf.add(вложение вложения Pdf) метод, который используется для добавления вложений в PDF-файл. Следующий фрагмент кода показывает, как прикрепить текстовые, графические, PDF-файлы и файлы Word к PDF-файлу.
import com.spire.pdf.PdfDocument;
import com.spire.pdf.attachments.PdfAttachment;
public class AddAttachments {
public static void main(String[] args){
//Create a PdfDocument instance
PdfDocument pdf = new PdfDocument();
//Attach txt file to PDF
PdfAttachment attachment = new PdfAttachment("Input.txt");
attachment.setDescription("Input.txt");
attachment.setMimeType("application/txt");
pdf.getAttachments().add(attachment);
//Attach image file to PDF
attachment = new PdfAttachment("panda.jpg");
attachment.setDescription("panda.jpg");
attachment.setMimeType("image/jpg");
pdf.getAttachments().add(attachment);
//Attach PDF file to PDF
attachment = new PdfAttachment("Example.pdf");
attachment.setDescription("Example.pdf");
attachment.setMimeType("application/pdf");
pdf.getAttachments().add(attachment);
//Attach Word file to PDF
attachment = new PdfAttachment("Template.docx");
attachment.setDescription("Template.docx");
attachment.setMimeType("application/msword");
pdf.getAttachments().add(attachment);
//Save the result file
pdf.saveToFile("AddAttachments.pdf");
}
}
Извлечение вложений
Чтобы извлечь вложения, вам сначала нужно получить коллекцию вложений PDF-файла с помощью метода PdfDocument.GetAttachments() , во-вторых, выполнить цикл по коллекции, извлечь и сохранить каждое вложение на диск.
import com.spire.pdf.PdfDocument;
import com.spire.pdf.attachments.PdfAttachmentCollection;
import java.io.*;
public class ExtractAttachments {
public static void main(String[] args) throws IOException {
//Load the PDF file
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("AddAttachments.pdf");
//Get the attachment collection of the PDF file
PdfAttachmentCollection attachments = pdf.getAttachments();
//Loop through the collection and extract all the attachments in the PDF file
for (int i = 0; i < attachments.getCount(); i++) {
File file = new File("Attachments/" + attachments.get(i).getFileName());
OutputStream output = new FileOutputStream(file);
BufferedOutputStream bufferedOutput = new BufferedOutputStream(output);
bufferedOutput.write(attachments.get(i).getData());
bufferedOutput.close();
}
}
}
Удаление вложений
Вы можете легко удалить все вложения из PDF-файла, используя метод Pdf Attachment Collection.clear() .
import com.spire.pdf.PdfDocument;
import com.spire.pdf.attachments.PdfAttachmentCollection;
public class DeleteAttachments {
public static void main(String[] args){
//Load the PDF file
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("AddAttachments.pdf");
//Get the attachment collection of the PDF file
PdfAttachmentCollection attachments = pdf.getAttachments();
//Delete all the attachments from the PDF file
attachments.clear();
//Save the result file
pdf.saveToFile("DeleteAttachments.pdf");
}
}
Оригинал: “https://dev.to/eiceblue/add-extract-and-delete-attachments-in-pdf-in-java-1k16”