Konverter Office Word- og PowerPoint til PDF via gratis Node.js-bibliotek
Åpen kildekode Node.js PDF-konverterings-API for å lese og konvertere Office Word- og PowerPoint-filer til PDF med støtte for batch-dokumentkonvertering.
Hva er Files2PDF?
I verden av dokumenthåndtering er å konvertere filer til PDF en daglig nødvendighet. Enten du arkiverer gamle presentasjoner eller ferdigstiller kontrakter, er behovet for et stabilt, ikke‑redigerbart format universelt. Imidlertid er det et mareritt å gjøre dette manuelt for hundrevis av filer. Møt Files2Pdf—en lettvektig, kraftig Node.js‑pakke designet for å automatisere akkurat denne prosessen. Det finnes flere viktige funksjoner i biblioteket, som masse‑/batch‑dokumentbehandling, arbeid med flere dokumentformater, doble bruksmoduser, smart feilhåndtering, katalogautomatisering, og så videre.
Files2Pdf er en lettvekts Node.js-pakke som forenkler konverteringen av kontordokumenter—spesielt Microsoft Word- og PowerPoint-filer—til PDF-format. I motsetning til komplekse bedriftsløsninger som krever omfattende konfigurasjoner, fokuserer Files2Pdf på å gjøre én ting eksepsjonelt godt: å behandle hele mapper med dokumenter og levere rene, klar-til-delings PDF‑filer. Biblioteket identifiserer automatisk støttede filer i katalogen din og hopper over inkompatible, noe som forhindrer krasj eller feil under batch‑jobber.
Kom i gang med Files2Pdf
Den beste måten å installere Files2PDF-modulen på er via npm, vennligst bruk følgende kommando for å installere API-et.
Installer Files2PDF-biblioteket via npm
npm install files2pdfInstaller Files2PDF-biblioteket via GitHub
git clone "https://github.com/An4s0/Files2Pdf.git" Batch-behandlingskapasitet
Det åpne kildekodebiblioteket Files2PDF har inkludert ulike funksjoner for å konvertere flere filer til PDF-dokumenter samtidig. En av de mest fremtredende funksjonene er evnen til å behandle hele mapper med dokumenter i én operasjon. I stedet for å konvertere filer én etter én, kan du peke Files2PDF mot en katalog som inneholder flere dokumenter, og den vil systematisk konvertere hver støttede fil til PDF-format.
Hvordan konvertere flere dokumenter til PDF-filer i Node.js‑apper?
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);
}
});
Støtte for flere formater
Files2PDF håndterer både eldre og moderne Microsoft Office-formater sømløst. Pakken støtter PowerPoint-filer i både .ppt- og .pptx-format, samt Word-dokumenter i .doc- og .docx-format. Denne omfattende formatstøtten sikrer kompatibilitet med dokumenter opprettet i ulike versjoner av Microsoft Office. Følgende kodeeksempel viser hvordan et filovervåkingssystem kan brukes til å lage et automatisert dokumentkonverteringssystem som overvåker en mappe for nye filer og konverterer dem automatisk.
Hvordan lage et filovervåkingssystem for å konvertere nye filer som lastes inn i en katalog i 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();
Tilpassbar sidestørrelse og orientering
En én-størrelse-passer-alle-tilnærming fungerer ikke for PDF-er. Et skjermbilde kan være best i liggende format, mens et tekstdokument er bedre i stående format. Files2PDF lar deg definere sidestørrelse (f.eks. A4, Letter) og orientering (Stående eller Liggende) for hele den genererte PDF-en, slik at innholdet ditt vises korrekt.
Intelligent filfiltrering
Det åpne kildekode-biblioteket Files2PDF gjør det enkelt for programvareutviklere å automatisk identifisere og behandle kun støttede filtyper, og elegant hoppe over ikke‑støttede formater uten å kaste feil. Denne intelligente filtreringsmekanismen sikrer jevn drift selv når du arbeider med mapper som inneholder blandede filtyper.