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