Преобразование форматов изображений в PDF на Java

Aspose.PDF for Java может конвертировать множество растровых и векторных форматов изображений в PDF‑документы.

Преобразование BMP в PDF

Используйте этот пример, когда BMP‑изображение должно быть помещено в PDF‑документ.

  1. Создайте пустой Document для хранения выходного PDF.
  2. Добавьте Page и разместите BMP с помощью page.addImage(...).
  3. Определите прямоугольник целевого изображения с помощью Rectangle, при этом растровое содержимое заполняет область страницы PDF.
  4. Сохраните выходной PDF-файл.
public static void convertBmpToPdf(Path inputFile, Path outputFile) {
        try (Document document = new Document()) {
            try (Page page = document.getPages().add()) {
                page.addImage(inputFile.toString(), new Rectangle(0, 0, 595, 842, true));
            }
            document.save(outputFile.toString());
        }
        System.out.println(inputFile + " converted into " + outputFile);
    }

Преобразование CGM в PDF

Используйте этот пример, когда файл графики CGM должен быть преобразован в PDF.

  1. Откройте источник CGM, передав путь к файлу и CgmLoadOptions в конструктор Document.
  2. Позвольте Aspose.PDF интерпретировать поток графики CGM во время загрузки документа.
  3. Сохраните преобразованный PDF по целевому пути.
public static void convertCgmToPdf(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString(), new CgmLoadOptions())) {
        document.save(outputFile.toString());
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

Преобразование DICOM в PDF

Используйте этот пример, когда медицинское изображение DICOM следует обернуть в документ PDF.

  1. Создайте пустой Document для вывода PDF.
  2. Создайте объект Image, установите его ImageFileType в значение Dicom и назначьте путь к исходному файлу.
  3. Добавьте Page и добавьте DICOM‑изображение в коллекцию абзацев страницы.
  4. Сохраните результат в формате PDF.
public static void convertDicomToPdf(Path inputFile, Path outputFile) {
    try (Document document = new Document()) {
        Image image = new Image();
        image.setFileType(ImageFileType.Dicom);
        image.setFile(inputFile.toString());

        try (Page page = document.getPages().add()) {
            page.getParagraphs().add(image);
        }

        document.save(outputFile.toString());
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

Преобразование EMF в PDF с прямой загрузкой документа

Используйте этот пример, когда файл EMF должен быть преобразован в PDF через основной путь загрузки EMF.

  1. Создайте пустой Document и откройте источник EMF как бинарный поток.
  2. Добавьте Page и обнулите её поля, чтобы рисунок EMF мог занять всю площадь страницы.
  3. Создайте Image, привяжите поток EMF к нему и добавьте его в коллекцию абзацев страницы.
  4. Сохраните выходной PDF-файл.
public static void convertEmfToPdf01(Path inputFile, Path outputFile) throws IOException {
    try (Document document = new Document();
         FileInputStream imageStream = new FileInputStream(inputFile.toFile())) {
        try (Page page = document.getPages().add()) {
            page.getPageInfo().getMargin().setBottom(0);
            page.getPageInfo().getMargin().setTop(0);
            page.getPageInfo().getMargin().setLeft(0);
            page.getPageInfo().getMargin().setRight(0);

            Image image = new Image();
            image.setFileType(ImageFileType.Unknown);
            image.setImageStream(imageStream);
            page.getParagraphs().add(image);
        }
        document.save(outputFile.toString());
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

Альтернативный способ преобразования EMF в PDF

Используйте этот пример, когда содержимое EMF должно быть преобразовано с использованием альтернативной настройки или процесса композиции страниц.

  1. Загрузите EMF‑источник с помощью Aspose.Imaging и отрендерите его в поток PNG в памяти перед размещением в PDF.
  2. Создайте пустой Document и добавьте Page.
  3. Создайте Image из промежуточного потока байтов и добавьте его на страницу.
  4. Сохраните преобразованный PDF.
public static void convertEmfToPdf02(Path inputFile, Path outputFile) throws IOException {
    try (Document document = new Document();
         com.aspose.imaging.Image emfImage = com.aspose.imaging.Image.load(inputFile.toString());
         ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream()) {
        emfImage.save(byteArrayOutputStream, new PngOptions());

        try (Page page = document.getPages().add()) {
            Image image = new Image();
            image.setImageStream(new ByteArrayInputStream(byteArrayOutputStream.toByteArray()));
            page.getParagraphs().add(image);
        }

        document.save(outputFile.toString());
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

Преобразование GIF в PDF

Используйте этот пример, когда нужно добавить GIF‑изображение на страницу PDF.

  1. Создайте пустой Document для вывода PDF.
  2. Добавьте Page и разместите GIF с помощью page.addImage(...).
  3. Определите границы размещения с помощью Rectangle, при этом изображение заполняет область страницы.
  4. Сохраните выходной PDF.
public static void convertGifToPdf(Path inputFile, Path outputFile) {
    try (Document document = new Document()) {
        try (Page page = document.getPages().add()) {
            page.addImage(inputFile.toString(), new Rectangle(0, 0, 595, 842, true));
        }
        document.save(outputFile.toString());
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

Преобразование JPEG в PDF

Используйте этот пример, когда изображение JPEG нужно преобразовать в одностраничный PDF.

  1. Создайте пустой Document для выходного PDF.
  2. Добавьте Page и вставьте JPEG‑изображение с помощью page.addImage(...).
  3. Используйте Rectangle для контроля того, как растровое изображение отображается в координатах страницы.
  4. Сохраните сгенерированный файл PDF.
public static void convertJpegToPdf(Path inputFile, Path outputFile) {
    try (Document document = new Document()) {
        try (Page page = document.getPages().add()) {
            page.addImage(inputFile.toString(), new Rectangle(0, 0, 595, 842, true));
        }
        document.save(outputFile.toString());
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

Преобразование PNG в PDF

Используйте этот пример, когда необходимо обернуть PNG‑изображение в документ PDF.

  1. Создайте пустой Document для вывода преобразования.
  2. Добавьте Page и разместите PNG‑изображение на нём с помощью page.addImage(...).
  3. Используйте Rectangle, чтобы изменить размер изображения относительно холста страницы.
  4. Сохраните выходной файл.
public static void convertPngToPdf(Path inputFile, Path outputFile) {
    try (Document document = new Document()) {
        try (Page page = document.getPages().add()) {
            page.addImage(inputFile.toString(), new Rectangle(0, 0, 595, 842, true));
        }
        document.save(outputFile.toString());
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

Преобразование SVG в PDF

Используйте этот пример, когда изображение SVG должен быть отрисован внутри PDF‑документа.

  1. Откройте исходный SVG, передав путь к файлу и SvgLoadOptions в конструктор Document.
  2. Позвольте Aspose.PDF разобрать разметку SVG и создать соответствующую графическую модель PDF во время загрузки.
  3. Сохраните вывод PDF по целевому пути.
public static void convertSvgToPdf(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString(), new SvgLoadOptions())) {
        document.save(outputFile.toString());
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

Преобразование TIFF в PDF

Используйте этот пример, когда TIFF‑изображение должно быть преобразовано в PDF.

  1. Создайте пустой Document для вывода PDF.
  2. Добавьте Page и разместите TIFF‑изображение с помощью page.addImage(...).
  3. Определите область размещения с помощью Rectangle, при этом содержимое TIFF отображается в координатах страницы.
  4. Сохраните результат в формате PDF.
public static void convertTiffToPdf(Path inputFile, Path outputFile) {
    try (Document document = new Document()) {
        try (Page page = document.getPages().add()) {
            page.addImage(inputFile.toString(), new Rectangle(0, 0, 595, 842, true));
        }
        document.save(outputFile.toString());
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

Преобразование CDR в PDF

Используйте этот пример, когда нужно преобразовать файл CorelDRAW CDR в PDF.

  1. Откройте источник CDR, передав путь к файлу и CdrLoadOptions в конструктор Document.
  2. Позвольте Aspose.PDF загрузить содержимое CorelDRAW в модель PDF‑документа.
  3. Сохраните преобразованный PDF‑файл по указанному пути.
public static void convertCdrToPdf(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString(), new CdrLoadOptions())) {
        document.save(outputFile.toString());
    }
    System.out.println(inputFile + " converted into " + outputFile);
}