แปลง 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 ผ่าน GibHub
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 แบบโอเพนซอร์สทำให้ผู้พัฒนาซอฟต์แวร์สามารถระบุและประมวลผลประเภทไฟล์ที่รองรับได้โดยอัตโนมัติ โดยข้ามรูปแบบที่ไม่รองรับอย่างราบรื่นโดยไม่เกิดข้อผิดพลาด กลไกการกรองอัจฉริยะนี้ทำให้การทำงานเป็นไปอย่างราบรื่นแม้ทำงานกับโฟลเดอร์ที่มีไฟล์หลากหลายประเภท