ফ্রি Node.js লাইব্রেরি ব্যবহার করে অফিস Word ও PowerPoint কে PDF-এ রূপান্তর করুন
বাচ ডকুমেন্ট কনভার্সন সাপোর্ট সহ অফিস Word এবং PowerPoint ফাইলগুলোকে PDF-এ পড়া ও রূপান্তর করার জন্য ওপেন সোর্স Node.js PDF কনভার্টার API।
Files2PDF কী?
ডকুমেন্ট ম্যানেজমেন্টের জগতে, ফাইলগুলোকে PDF-এ রূপান্তর করা দৈনন্দিন প্রয়োজন। আপনি পুরনো প্রেজেন্টেশন সংরক্ষণ করুন বা চুক্তি চূড়ান্ত করুন, একটি স্থিতিশীল, অ-সম্পাদনাযোগ্য ফরম্যাটের প্রয়োজন সর্বজনীন। তবে, শত শত ফাইল ম্যানুয়ালি রূপান্তর করা এক রাত্রি দুঃস্বপ্নের মতো। এখানে আসে Files2Pdf—একটি হালকা, শক্তিশালী Node.js প্যাকেজ যা এই প্রক্রিয়াকে স্বয়ংক্রিয় করতে ডিজাইন করা হয়েছে। লাইব্রেরির বেশ কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য রয়েছে, যেমন ব্যাচ/বাল্ক ডকুমেন্ট প্রসেসিং, একাধিক ডকুমেন্ট ফরম্যাটের সাথে কাজ করা, দ্বৈত ব্যবহার মোড, স্মার্ট এরর হ্যান্ডলিং, ডিরেক্টরি অটোমেশন, ইত্যাদি।
Files2Pdf হল একটি হালকা Node.js প্যাকেজ যা অফিস ডকুমেন্ট—বিশেষত Microsoft Word এবং PowerPoint ফাইল—কে PDF ফরম্যাটে রূপান্তর সহজ করে। জটিল এন্টারপ্রাইজ সমাধানগুলোর মতো ভারী কনফিগারেশন প্রয়োজন না করে, Files2Pdf একটিই কাজ চমৎকারভাবে করে: ডকুমেন্টের পুরো ফোল্ডার প্রক্রিয়া করা এবং পরিষ্কার, শেয়ার করার জন্য প্রস্তুত PDF আউটপুট করা। লাইব্রেরি স্বয়ংক্রিয়ভাবে আপনার ডিরেক্টরিতে সমর্থিত ফাইলগুলো সনাক্ত করে এবং অসমর্থিত ফাইলগুলো বাদ দেয়, ফলে ব্যাচ কাজের সময় ক্র্যাশ বা ত্রুটি ঘটার সম্ভাবনা কমে।
Files2PDF দিয়ে শুরু করা
Files2PDF মডিউল ইনস্টল করার সর্বোত্তম উপায় হল npm এর মাধ্যমে, দয়া করে API ইনস্টল করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।
npm এর মাধ্যমে Files2PDF লাইব্রেরি ইনস্টল করুন
npm install files2pdfGibHub এর মাধ্যমে Files2PDF লাইব্রেরি ইনস্টল করুন
git clone "https://github.com/An4s0/Files2Pdf.git" ব্যাচ প্রক্রিয়াকরণ ক্ষমতা
ওপেন সোর্স Files2PDF লাইব্রেরিতে একসাথে একাধিক ফাইলকে PDF ডকুমেন্টে রূপান্তর করার জন্য বিভিন্ন বৈশিষ্ট্য অন্তর্ভুক্ত রয়েছে। এর অন্যতম প্রধান বৈশিষ্ট্য হল একক অপারেশনে পুরো ফোল্ডারের ডকুমেন্ট প্রক্রিয়া করার ক্ষমতা। ফাইলগুলো একে একে রূপান্তর করার পরিবর্তে, আপনি Files2PDF-কে একাধিক ডকুমেন্ট সম্বলিত একটি ডিরেক্টরিতে নির্দেশ করতে পারেন, এবং এটি প্রতিটি সমর্থিত ফাইলকে সিস্টেম্যাটিকভাবে PDF ফরম্যাটে রূপান্তর করবে।
Node.js অ্যাপ্লিকেশনে একাধিক ডকুমেন্টকে PDF ফাইলে রূপান্তর করার পদ্ধতি কী?
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 আপনাকে পুরো আউটপুট PDF-এর জন্য পেজ সাইজ (যেমন, A4, Letter) এবং অরিয়েন্টেশন (পোর্ট্রেট বা ল্যান্ডস্কেপ) নির্ধারণ করার সুযোগ দেয়, যাতে আপনার বিষয়বস্তু সঠিকভাবে প্রদর্শিত হয়।
বুদ্ধিমান ফাইল ফিল্টারিং
ওপেন সোর্স Files2PDF লাইব্রেরি সফটওয়্যার ডেভেলপারদের জন্য স্বয়ংক্রিয়ভাবে শুধুমাত্র সমর্থিত ফাইল টাইপগুলো চিহ্নিত এবং প্রক্রিয়া করা সহজ করে, অসমর্থিত ফরম্যাটগুলোকে কোনো ত্রুটি না দিয়ে সৌজন্যপূর্ণভাবে এড়িয়ে যায়। এই বুদ্ধিমান ফিল্টারিং মেকানিজম মিশ্র ফাইল টাইপযুক্ত ফোল্ডারগুলোর সাথে কাজ করলেও মসৃণ অপারেশন নিশ্চিত করে।