1. Продукти
  2.   PDF
  3.   Node.js
  4.   Files2PDF
 
  

Конвертирайте Office Word & PowerPoint в PDF чрез безплатна библиотека Node.js

Отворен код Node.js PDF конвертор API за четене и конвертиране на Office Word и PowerPoint файлове в PDF с поддръжка за пакетно конвертиране на документи.

Какво е Files2PDF?

В света на управлението на документи конвертирането на файлове в PDF е ежедневна необходимост. Независимо дали архивирате стари презентации или финализирате договори, нуждата от стабилен, неизменяем формат е универсална. Въпреки това, ръчното изпълнение на това за стотици файлове е кошмар. Представяме Files2Pdf — лек, мощен пакет за Node.js, създаден да автоматизира точно този процес. Има няколко важни функции, част от библиотеката, като обработка на документи на партида/масив, работа с множество формати на документи, двойни режими на употреба, интелигентно обработване на грешки, автоматизация на директории и др.

Files2Pdf е лек пакет за Node.js, който опростява конвертирането на офис документи — конкретно файлове на Microsoft Word и PowerPoint — в PDF формат. За разлика от сложните корпоративни решения, които изискват тежки конфигурации, Files2Pdf се фокусира върху изпълнението на едно нещо изключително добре: обработка на цели папки с документи и генериране на чисти, готови за споделяне PDF‑файлове. Библиотеката автоматично идентифицира поддържаните файлове във вашата директория и пропуска несъвместимите, като предотвратява сривове или грешки по време на пакетни задачи.

Previous Next

Започване с 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 улеснява софтуерните разработчици да автоматично идентифицират и обработват само поддържани типове файлове, като елегантно пропускат неподдържаните формати без да генерират грешки. Този интелигентен механизъм за филтриране осигурява гладка работа дори при работа с папки, съдържащи смесени типове файлове.

 Български