1. Produkty
  2.   PDF
  3.   Node.js
  4.   Files2PDF
 
  

Konwertuj Office Word i PowerPoint do PDF za pomocą darmowej biblioteki Node.js

Otwarty interfejs API konwertera PDF Node.js do odczytu i konwersji plików Office Word i PowerPoint do PDF z obsługą wsadowej konwersji dokumentów.

Czym jest Files2PDF?

W świecie zarządzania dokumentami konwersja plików do formatu PDF jest codzienną koniecznością. Niezależnie od tego, czy archiwizujesz stare prezentacje, czy finalizujesz umowy, potrzeba stabilnego, nieedytowalnego formatu jest uniwersalna. Jednak ręczne wykonywanie tego zadania dla setek plików to koszmar. Oto Files2Pdf — lekki, potężny pakiet Node.js zaprojektowany do automatyzacji tego procesu. Biblioteka zawiera kilka ważnych funkcji, takich jak przetwarzanie dokumentów w trybie wsadowym, obsługa wielu formatów dokumentów, podwójne tryby użycia, inteligentne obsługiwanie błędów, automatyzacja katalogów i inne.

Files2Pdf to lekki pakiet Node.js, który upraszcza konwersję dokumentów biurowych — konkretnie plików Microsoft Word i PowerPoint — do formatu PDF. W przeciwieństwie do złożonych rozwiązań korporacyjnych wymagających skomplikowanej konfiguracji, Files2Pdf koncentruje się na jednej rzeczy, którą wykonuje wyjątkowo dobrze: przetwarzaniu całych folderów dokumentów i generowaniu czystych, gotowych do udostępnienia plików PDF. Biblioteka automatycznie identyfikuje obsługiwane pliki w Twoim katalogu i pomija niekompatybilne, zapobiegając awariom lub błędom podczas zadań wsadowych.

Previous Next

Rozpoczęcie pracy z Files2Pdf

Najlepszy sposób instalacji modułu Files2PDF to npm; użyj poniższego polecenia, aby zainstalować API.

Zainstaluj bibliotekę Files2PDF przez npm

npm install files2pdf

Zainstaluj bibliotekę Files2PDF przez GitHub

git clone "https://github.com/An4s0/Files2Pdf.git" 

Możliwość przetwarzania wsadowego

Biblioteka open source Files2PDF zawiera różne funkcje umożliwiające jednoczesną konwersję wielu plików do dokumentów PDF. Jedną z wyróżniających się funkcji jest możliwość przetwarzania całych folderów dokumentów w jednej operacji. Zamiast konwertować pliki pojedynczo, możesz wskazać Files2PDF katalog zawierający wiele dokumentów, a biblioteka systematycznie przekonwertuje każdy obsługiwany plik do formatu PDF.

Jak przekonwertować wiele dokumentów na pliki PDF w aplikacjach 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);
    }
  });

Obsługa wielu formatów

Files2PDF obsługuje zarówno starsze, jak i nowoczesne formaty Microsoft Office bezproblemowo. Pakiet obsługuje pliki PowerPoint w formatach .ppt i .pptx, a także dokumenty Word w formatach .doc i .docx. To kompleksowe wsparcie formatów zapewnia kompatybilność z dokumentami utworzonymi w różnych wersjach Microsoft Office. Poniższy przykład kodu pokazuje, jak można zastosować system monitorowania plików do stworzenia zautomatyzowanego systemu konwersji dokumentów, który monitoruje katalog pod kątem nowych plików i automatycznie je konwertuje.

Jak stworzyć system monitorowania plików do konwertowania nowych plików wczytanych do katalogu w 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();

Konfigurowalny rozmiar i orientacja strony

Podejście uniwersalne nie sprawdza się w przypadku plików PDF. Zrzut ekranu może być najlepszy w orientacji poziomej, podczas gdy dokument tekstowy lepiej wygląda w pionie. Files2PDF umożliwia określenie rozmiaru strony (np. A4, Letter) oraz orientacji (Portret lub Krajobraz) dla całego wyjściowego PDF, zapewniając prawidłowe wyświetlanie treści.

Inteligentne filtrowanie plików

Biblioteka open source Files2PDF ułatwia programistom automatyczne rozpoznawanie i przetwarzanie jedynie obsługiwanych typów plików, elegancko pomijając nieobsługiwane formaty bez generowania błędów. Ten inteligentny mechanizm filtrowania zapewnia płynne działanie nawet przy pracy z folderami zawierającymi mieszane typy plików.

 Polski