Конвертуйте Office Word та PowerPoint у PDF за допомогою безкоштовної бібліотеки Node.js
Відкрите API конвертера PDF на Node.js для читання та конвертації файлів Office Word і PowerPoint у PDF з підтримкою пакетного перетворення документів.
Що таке Files2PDF?
У світі управління документами конвертація файлів у PDF є щоденною необхідністю. Незалежно від того, чи архівуєте ви старі презентації, чи фіналізуєте контракти, потреба у стабільному, незмінному форматі є універсальною. Однак виконувати це вручну для сотень файлів — справжній кошмар. На допомогу приходить Files2Pdf — легкий, потужний пакет Node.js, створений для автоматизації саме цього процесу. У бібліотеки є кілька важливих функцій, таких як пакетна обробка документів, робота з різними форматами документів, два режими використання, розумне оброблення помилок, автоматизація директорій тощо.
Files2Pdf — це легкий пакет Node.js, який спрощує конвертацію офісних документів — зокрема файлів Microsoft Word та PowerPoint — у формат PDF. На відміну від складних корпоративних рішень, які вимагають важких налаштувань, Files2Pdf зосереджується на одному — обробці цілих папок документів і створенні чистих, готових до поширення PDF. Бібліотека автоматично визначає підтримувані файли у вашому каталозі та пропускає несумісні, запобігаючи збоям або помилкам під час пакетних завдань.
Початок роботи з Files2Pdf
Найкращий спосіб встановити модуль Files2PDF — через npm, будь ласка, використайте наступну команду для встановлення API.
Встановити бібліотеку Files2PDF через npm
npm install files2pdfВстановити бібліотеку Files2PDF через GitHub
git clone "https://github.com/An4s0/Files2Pdf.git" Можливість пакетної обробки
Відкрита бібліотека Files2PDF включає різноманітні функції для одночасного перетворення кількох файлів у PDF‑документи. Однією з помітних можливостей є здатність обробляти цілі папки документів в одній операції. Замість конвертації файлів по одному, ви можете вказати Files2PDF каталог, що містить кілька документів, і вона систематично перетворить кожен підтримуваний файл у формат PDF.
Як конвертувати кілька документів у PDF-файли у додатках 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);
}
});
Підтримка багатьох форматів
Files2PDF без проблем працює як зі старими, так і з сучасними форматами Microsoft Office. Пакет підтримує файли PowerPoint у форматах .ppt і .pptx, а також документи Word у форматах .doc і .docx. Така всебічна підтримка форматів забезпечує сумісність документів, створених у різних версіях Microsoft Office. Наведений нижче приклад коду показує, як можна застосувати систему моніторингу файлів для створення автоматизованої системи конвертації документів, яка відстежує каталог на предмет нових файлів і автоматично їх конвертує.
Як створити систему моніторингу файлів для конвертації нових файлів, завантажених у директорію, у 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();
Налаштовуваний розмір та орієнтація сторінки
Підхід «один розмір підходить усім» не працює для PDF. Скриншот може найкраще виглядати у альбомній орієнтації, тоді як текстовий документ краще у портретній. Files2PDF дозволяє задати розмір сторінки (наприклад, A4, Letter) та орієнтацію (портрет або альбом) для всього вихідного PDF, забезпечуючи правильне відображення вашого вмісту.
Інтелектуальне фільтрування файлів
Відкрита бібліотека Files2PDF спрощує розробникам програмного забезпечення автоматичне розпізнавання та обробку лише підтримуваних типів файлів, плавно пропускаючи непідтримувані формати без викидання помилок. Цей інтелектуальний механізм фільтрації забезпечує стабільну роботу навіть при роботі з папками, що містять різноманітні типи файлів.