Рубрики
Без рубрики

Добавление, извлечение и удаление вложений в PDF на Java

В этой статье объясняется, как добавлять, извлекать и удалять вложения в PDF-файле на Java. С тегами java, pdf, вложения.

Мы можем прикреплять к 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”