Преобразование форматов изображений в PDF на Java
Aspose.PDF for Java может конвертировать множество растровых и векторных форматов изображений в PDF‑документы.
Преобразование BMP в PDF
Используйте этот пример, когда BMP‑изображение должно быть помещено в PDF‑документ.
- Создайте пустой
Documentдля хранения выходного PDF. - Добавьте
Pageи разместите BMP с помощьюpage.addImage(...). - Определите прямоугольник целевого изображения с помощью
Rectangle, при этом растровое содержимое заполняет область страницы PDF. - Сохраните выходной 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.
- Откройте источник CGM, передав путь к файлу и
CgmLoadOptionsв конструкторDocument. - Позвольте Aspose.PDF интерпретировать поток графики CGM во время загрузки документа.
- Сохраните преобразованный 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.
- Создайте пустой
Documentдля вывода PDF. - Создайте объект
Image, установите егоImageFileTypeв значениеDicomи назначьте путь к исходному файлу. - Добавьте
Pageи добавьте DICOM‑изображение в коллекцию абзацев страницы. - Сохраните результат в формате 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.
- Создайте пустой
Documentи откройте источник EMF как бинарный поток. - Добавьте
Pageи обнулите её поля, чтобы рисунок EMF мог занять всю площадь страницы. - Создайте
Image, привяжите поток EMF к нему и добавьте его в коллекцию абзацев страницы. - Сохраните выходной 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 должно быть преобразовано с использованием альтернативной настройки или процесса композиции страниц.
- Загрузите EMF‑источник с помощью Aspose.Imaging и отрендерите его в поток PNG в памяти перед размещением в PDF.
- Создайте пустой
Documentи добавьтеPage. - Создайте
Imageиз промежуточного потока байтов и добавьте его на страницу. - Сохраните преобразованный 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.
- Создайте пустой
Documentдля вывода PDF. - Добавьте
Pageи разместите GIF с помощьюpage.addImage(...). - Определите границы размещения с помощью
Rectangle, при этом изображение заполняет область страницы. - Сохраните выходной 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.
- Создайте пустой
Documentдля выходного PDF. - Добавьте
Pageи вставьте JPEG‑изображение с помощьюpage.addImage(...). - Используйте
Rectangleдля контроля того, как растровое изображение отображается в координатах страницы. - Сохраните сгенерированный файл 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.
- Создайте пустой
Documentдля вывода преобразования. - Добавьте
Pageи разместите PNG‑изображение на нём с помощьюpage.addImage(...). - Используйте
Rectangle, чтобы изменить размер изображения относительно холста страницы. - Сохраните выходной файл.
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‑документа.
- Откройте исходный SVG, передав путь к файлу и
SvgLoadOptionsв конструкторDocument. - Позвольте Aspose.PDF разобрать разметку SVG и создать соответствующую графическую модель PDF во время загрузки.
- Сохраните вывод 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.
- Создайте пустой
Documentдля вывода PDF. - Добавьте
Pageи разместите TIFF‑изображение с помощьюpage.addImage(...). - Определите область размещения с помощью
Rectangle, при этом содержимое TIFF отображается в координатах страницы. - Сохраните результат в формате 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.
- Откройте источник CDR, передав путь к файлу и
CdrLoadOptionsв конструкторDocument. - Позвольте Aspose.PDF загрузить содержимое CorelDRAW в модель PDF‑документа.
- Сохраните преобразованный 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);
}