Převod Office Word a PowerPoint do PDF pomocí bezplatné knihovny Node.js
Open source Node.js PDF konvertor API pro čtení a převod souborů Office Word a PowerPoint do PDF s podporou hromadného převodu dokumentů.
Co je Files2PDF?
Ve světě správy dokumentů je převod souborů do PDF každodenní nutností. Ať už archivujete staré prezentace nebo finalizujete smlouvy, potřeba stabilního, needitovatelného formátu je univerzální. Přesto je provádění tohoto úkolu ručně u stovek souborů noční můrou. Přichází Files2Pdf – lehký, výkonný balíček pro Node.js navržený k automatizaci tohoto procesu. Knihovna obsahuje několik důležitých funkcí, jako je hromadné/zálohové zpracování dokumentů, práce s více formáty dokumentů, dvojí režimy použití, inteligentní zpracování chyb, automatizace adresářů a další.
Files2Pdf je lehký balíček pro Node.js, který zjednodušuje převod kancelářských dokumentů – konkrétně souborů Microsoft Word a PowerPoint – do formátu PDF. Na rozdíl od složitých podnikových řešení, která vyžadují těžkou konfiguraci, se Files2Pdf soustředí na jedno – a to dělá výjimečně dobře: zpracování celých složek dokumentů a vytváření čistých, připravených k sdílení PDF souborů. Knihovna automaticky rozpozná podporované soubory ve vašem adresáři a přeskočí nekompatibilní, čímž zabraňuje pádům nebo chybám během dávkových úloh.
Začínáme s Files2PDF
Nejlepší způsob, jak nainstalovat modul Files2PDF, je přes npm; použijte prosím následující příkaz k instalaci API.
Instalace knihovny Files2PDF přes npm
npm install files2pdfInstalace knihovny Files2PDF přes GitHub
git clone "https://github.com/An4s0/Files2Pdf.git" Schopnost hromadného zpracování
Open source knihovna Files2PDF obsahuje různé funkce pro převod více souborů do PDF dokumentů najednou. Jednou z výrazných funkcí je schopnost zpracovat celé složky dokumentů v jedné operaci. Místo převodu souborů jeden po druhém můžete nasměrovat Files2PDF na adresář obsahující více dokumentů a ten systematicky převede každý podporovaný soubor do formátu PDF.
Jak převést více dokumentů na PDF soubory v aplikacích 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);
}
});
Podpora více formátů
Files2PDF bez problémů zpracovává jak starší, tak moderní formáty Microsoft Office. Balíček podporuje soubory PowerPoint ve formátech .ppt i .pptx, stejně jako dokumenty Word ve formátech .doc a .docx. Tato komplexní podpora formátů zajišťuje kompatibilitu s dokumenty vytvořenými v různých verzích Microsoft Office. Následující ukázkový kód ukazuje, jak lze použít systém sledování souborů k vytvoření automatizovaného systému konverze dokumentů, který monitoruje adresář pro nové soubory a automaticky je převádí.
Jak vytvořit systém sledování souborů pro převod nových souborů načtených do adresáře v 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();
Přizpůsobitelná velikost stránky a orientace
Přístup „jedna velikost pro všechny“ nefunguje u PDF. Screenshot může být nejlepší na šířku, zatímco textový dokument je lepší na výšku. Files2PDF vám umožňuje definovat velikost stránky (např. A4, Letter) a orientaci (na výšku nebo na šířku) pro celý výstupní PDF, což zajišťuje správné zobrazení vašeho obsahu.
Inteligentní filtrování souborů
Open‑source knihovna Files2PDF usnadňuje vývojářům softwaru automaticky identifikovat a zpracovávat pouze podporované typy souborů, elegantně přeskočit nepodporované formáty, aniž by vyvolala chyby. Tento inteligentní filtrovací mechanismus zajišťuje plynulý provoz i při práci s adresáři obsahujícími smíšené typy souborů.