Convertir Office Word et PowerPoint en PDF via une bibliothèque Node.js gratuite
API de conversion PDF Node.js Open Source pour lire et convertir les fichiers Office Word et PowerPoint en PDF avec prise en charge de la conversion par lots de documents.
Qu’est-ce que Files2PDF ?
Dans le domaine de la gestion de documents, la conversion de fichiers en PDF est une nécessité quotidienne. Que vous archiviez d'anciennes présentations ou que vous finalisiez des contrats, le besoin d'un format stable et non modifiable est universel. Cependant, le faire manuellement pour des centaines de fichiers est un cauchemar. Voici Files2Pdf — un package Node.js léger et puissant conçu pour automatiser ce processus. La bibliothèque comprend plusieurs fonctionnalités importantes, telles que le traitement en masse ou par lots des documents, la prise en charge de multiples formats de documents, les deux modes d'utilisation, la gestion intelligente des erreurs, l'automatisation des répertoires, etc.
Files2Pdf est un package Node.js léger qui simplifie la conversion de documents bureautiques—en particulier les fichiers Microsoft Word et PowerPoint—en format PDF. Contrairement aux solutions d'entreprise complexes qui nécessitent des configurations lourdes, Files2Pdf se concentre sur une seule chose faite de façon exceptionnelle : traiter des dossiers entiers de documents et produire des PDF propres, prêts à être partagés. La bibliothèque identifie automatiquement les fichiers pris en charge dans votre répertoire et ignore ceux qui sont incompatibles, évitant ainsi les plantages ou les erreurs lors des traitements par lots.
Commencer avec Files2PDF
La meilleure façon d'installer le module Files2PDF est via npm, veuillez utiliser la commande suivante pour installer l'API.
Installer la bibliothèque Files2PDF via npm
npm install files2pdfInstaller la bibliothèque Files2PDF via GibHub
git clone "https://github.com/An4s0/Files2Pdf.git" Capacité de traitement par lots
La bibliothèque open source Files2PDF comprend diverses fonctionnalités pour convertir plusieurs fichiers en documents PDF simultanément. L'une des fonctionnalités remarquables est sa capacité à traiter des dossiers entiers de documents en une seule opération. Au lieu de convertir les fichiers un par un, vous pouvez diriger Files2PDF vers un répertoire contenant plusieurs documents, et il convertira systématiquement chaque fichier pris en charge au format PDF.
Comment convertir plusieurs documents en fichiers PDF dans les applications Node.js ?
const { processFolder } = require('files2pdf');
const path = require('path');
const fs = require('fs').promises;
async function convertDocuments(inputPath, outputPath) {
try {
// Verify input folder exists
await fs.access(inputPath);
console.log(`Starting conversion process...`);
console.log(`Input folder: ${inputPath}`);
console.log(`Output folder: ${outputPath}`);
// Process all files in the folder
await processFolder(inputPath, outputPath);
console.log('Conversion completed successfully!');
return { success: true, message: 'All documents converted' };
} catch (error) {
console.error('Conversion failed:', error.message);
return { success: false, error: error.message };
}
}
// Usage example
const inputDir = path.resolve(__dirname, 'documents');
const outputDir = path.resolve(__dirname, 'pdfs');
convertDocuments(inputDir, outputDir)
.then(result => {
if (result.success) {
console.log('Success:', result.message);
} else {
console.log('Failed:', result.error);
}
});
Prise en charge multi-format
Files2PDF gère sans problème les formats Microsoft Office anciens et modernes. Le package prend en charge les fichiers PowerPoint aux formats .ppt et .pptx, ainsi que les documents Word aux formats .doc et .docx. Cette prise en charge complète des formats garantit la compatibilité avec les documents créés sur différentes versions de Microsoft Office. L'exemple de code suivant montre comment un système de surveillance de fichiers peut être utilisé pour créer un système de conversion de documents automatisé qui surveille un répertoire à la recherche de nouveaux fichiers et les convertit automatiquement.
Comment créer un système de surveillance de fichiers pour convertir les nouveaux fichiers chargés dans un répertoire sous Node.js ?
const { processFolder } = require('files2pdf');
const chokidar = require('chokidar');
const path = require('path');
const fs = require('fs').promises;
class DocumentConverter {
constructor(watchDir, outputDir) {
this.watchDir = path.resolve(watchDir);
this.outputDir = path.resolve(outputDir);
this.processing = new Set();
}
async initialize() {
// Ensure output directory exists
await fs.mkdir(this.outputDir, { recursive: true });
// Set up file watcher
const watcher = chokidar.watch(this.watchDir, {
ignored: /(^|[\/\\])\../, // ignore dotfiles
persistent: true,
ignoreInitial: false
});
watcher.on('add', async (filePath) => {
await this.handleNewFile(filePath);
});
console.log(`Watching ${this.watchDir} for new documents...`);
}
async handleNewFile(filePath) {
const ext = path.extname(filePath).toLowerCase();
const supportedFormats = ['.ppt', '.pptx', '.doc', '.docx'];
if (!supportedFormats.includes(ext)) {
return; // Skip unsupported files
}
if (this.processing.has(filePath)) {
return; // Already processing this file
}
this.processing.add(filePath);
console.log(`New file detected: ${path.basename(filePath)}`);
try {
await processFolder(path.dirname(filePath), this.outputDir);
console.log(`Successfully converted: ${path.basename(filePath)}`);
} catch (error) {
console.error(`Error converting ${path.basename(filePath)}:`, error.message);
} finally {
this.processing.delete(filePath);
}
}
}
// Initialize the converter
const converter = new DocumentConverter('./watched-folder', './converted-pdfs');
converter.initialize();
Taille et orientation de page personnalisables
Une approche unique ne fonctionne pas pour les PDF. Une capture d'écran peut être préférable en mode paysage, tandis qu'un document texte est meilleur en mode portrait. Files2PDF vous permet de définir la taille de page (par ex., A4, Letter) et l'orientation (Portrait ou Paysage) pour l'ensemble du PDF généré, garantissant que votre contenu s'affiche correctement.
Filtrage intelligent des fichiers
La bibliothèque open source Files2PDF facilite aux développeurs logiciels l'identification et le traitement automatiques uniquement des types de fichiers pris en charge, en sautant gracieusement les formats non supportés sans générer d'erreurs. Ce mécanisme de filtrage intelligent assure un fonctionnement fluide même lorsqu'on travaille avec des dossiers contenant des types de fichiers mixtes.