Convertissez facilement vos images en PDF et vice versa. Toutes les données restent sur votre appareil pour votre confidentialité.
components.privacyNotice.title components.privacyNotice.message
Formats acceptés: JPEG, PNG, WEBP, BMP, GIF
Convertissez facilement vos images en PDF et vice versa. Cet outil supporte de nombreux formats d'images et permet de créer des PDF multi-pages ou d'extraire toutes les images d'un document PDF.
Créez un PDF à partir d'une ou plusieurs images. Options de mise en page, compression et ordre personnalisable.
Extrayez toutes les images d'un PDF ou convertissez chaque page en image haute résolution.
Ajustez automatiquement la taille des images pour optimiser le poids du PDF final.
Convertissez plusieurs fichiers simultanément avec les mêmes paramètres pour gagner du temps.
// Conversion images vers PDF
import { PDFDocument } from 'pdf-lib';
async function imagesToPDF(imageFiles, options = {}) {
const pdfDoc = await PDFDocument.create();
for (const imageFile of imageFiles) {
const imageBytes = await imageFile.arrayBuffer();
let image;
// Détecter le type d'image et l'incorporer
if (imageFile.type === 'image/jpeg') {
image = await pdfDoc.embedJpg(imageBytes);
} else if (imageFile.type === 'image/png') {
image = await pdfDoc.embedPng(imageBytes);
}
// Créer une nouvelle page
const page = pdfDoc.addPage();
const { width: pageWidth, height: pageHeight } = page.getSize();
// Calculer les dimensions optimales
const imageAspectRatio = image.width / image.height;
const pageAspectRatio = pageWidth / pageHeight;
let drawWidth, drawHeight;
if (imageAspectRatio > pageAspectRatio) {
// Image plus large que la page
drawWidth = pageWidth - (options.margin || 50) * 2;
drawHeight = drawWidth / imageAspectRatio;
} else {
// Image plus haute que la page
drawHeight = pageHeight - (options.margin || 50) * 2;
drawWidth = drawHeight * imageAspectRatio;
}
// Centrer l'image sur la page
const x = (pageWidth - drawWidth) / 2;
const y = (pageHeight - drawHeight) / 2;
// Dessiner l'image
page.drawImage(image, {
x: x,
y: y,
width: drawWidth,
height: drawHeight,
});
}
return await pdfDoc.save();
}
// Exemple d'utilisation
const fileInput = document.getElementById('images');
const images = Array.from(fileInput.files);
imagesToPDF(images, { margin: 30 })
.then(pdfBytes => {
// Télécharger le PDF généré
const blob = new Blob([pdfBytes], { type: 'application/pdf' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'images-to-pdf.pdf';
a.click();
});components.outilPage.suggestion.description