Как преобразовать изображение в PDF в Java

Преобразование изображений в PDF имеет множество преимуществ. Одно из них - преобразование изображений в формат, который удобен для чтения и обмена. Другая причина — значительное уменьшение размера файла при сохранении качества изображения. В этой статье вы узнаете, как конвертировать изображения в PDF на Java с помощью Spire.PDF for Java.
- Преобразование изображения в PDF в Java
- Объединение нескольких изображений в один PDF в Java
Установите необходимую библиотеку
Spire.PDF for Java — это профессиональная Java-библиотека для чтения, создания и работы с PDF-файлами в Java-приложениях.
Если вы создали проект Maven, вы можете легко импортировать jar в свое
приложение с помощью следующих конфигураций. Для проектов, не использующих
Maven, загрузите
Spire.Pdf.jar и добавьте его в качестве зависимости в ваше приложение.
Следующий фрагмент кода показывает, как преобразовать изображение в PDF с тем
же размером страницы, что и у изображения. import com.spire.pdf.PdfDocument; import com.spire.pdf.PdfPageBase; import com.spire.pdf.graphics.PdfImage; import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.FileInputStream; import java.io.IOException; public class ConvertImageToPdfWithSameSize { public static void main(String[] args) throws IOException { //Create a PdfDocument object PdfDocument doc = new PdfDocument(); //Set the margins to 0 doc.getPageSettings().setMargins(0); //Load an image BufferedImage image = ImageIO.read(new FileInputStream("C:\Users\Administrator\Desktop\announcement.jpg")); //Get the image width and height int width = image.getWidth(); int height = image.getHeight(); //Add a page of the same size as the image PdfPageBase page = doc.getPages().add(new Dimension(width, height)); //Create a PdfImage object based on the image PdfImage pdfImage = PdfImage.fromImage(image); //Draw image at (0, 0) of the page page.getCanvas().drawImage(pdfImage, 0, 0, pdfImage.getWidth(), pdfImage.getHeight()); //Save to file doc.saveToFile("output/ConvertPdfWithSameSize.pdf"); } } Чтобы преобразовать все изображения в папке в PDF, мы перебираем каждое
изображение, добавляем в PDF новую страницу того же размера, что и изображение,
а затем перерисовываем изображение на новую страницу. import com.spire.pdf.PdfDocument; import com.spire.pdf.PdfPageBase; import com.spire.pdf.graphics.PdfImage; import java.awt.*; import java.io.File; public class ConvertMultipleImagesIntoPdf { public static void main(String[] args) { //Create a PdfDocument object PdfDocument doc = new PdfDocument(); //Set the page margins to 0 doc.getPageSettings().setMargins(0); //Get the folder where the images are stored File folder = new File("C:/Users/Administrator/Desktop/Images"); //Iterate through the files in the folder for (File file : folder.listFiles()) { //Load a particular image PdfImage pdfImage = PdfImage.fromFile(file.getPath()); //Get the image width and height int width = pdfImage.getWidth(); int height = pdfImage.getHeight(); //Add a page that has the same size as the image PdfPageBase page = doc.getPages().add(new Dimension(width, height)); //Draw image at (0, 0) of the page page.getCanvas().drawImage(pdfImage, 0, 0, width, height); } //Save to file doc.saveToFile("CombineImagesToPdf.pdf"); doc.dispose(); } } В этой статье мы узнали, как использовать Spire.PDF для Java для
преобразования изображений в PDF. Кроме того, эта библиотека поддерживает
другие функции обработки PDF, такие как:
Преобразование изображения в PDF в Java
Объединение нескольких изображений в один PDF в Java
Заключение