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

Konvertera Office Word och PowerPoint till PDF via gratis Node.js-bibliotek

Open Source Node.js PDF-konverterings-API för att läsa och konvertera Office Word- och PowerPoint-filer till PDF med stöd för batchdokumentkonvertering.

Vad är Files2PDF?

I dokumenthanteringens värld är konvertering av filer till PDF en daglig nödvändighet. Oavsett om du arkiverar gamla presentationer eller slutför kontrakt, är behovet av ett stabilt, icke‑redigerbart format universellt. Att göra detta manuellt för hundratals filer är dock en mardröm. Möt Files2Pdf – ett lättviktigt, kraftfullt Node.js‑paket designat för att automatisera just denna process. Biblioteket innehåller flera viktiga funktioner, såsom mass-/batchdokumentbehandling, arbete med flera dokumentformat, dubbla användningslägen, smart felhantering, katalogautomatisering och så vidare.

Files2Pdf är ett lättviktigt Node.js‑paket som förenklar konverteringen av kontorsdokument—specifikt Microsoft Word‑ och PowerPoint‑filer—till PDF‑format. Till skillnad från komplexa företagslösningar som kräver tunga konfigurationer fokuserar Files2Pdf på att göra en sak exceptionellt väl: bearbeta hela mappar med dokument och skapa rena, färdiga PDF‑filer att dela. Biblioteket identifierar automatiskt stödda filer i din katalog och hoppar över inkompatibla, vilket förhindrar krascher eller fel under batchjobb.

Previous Next

Komma igång med Files2Pdf

Det bästa sättet att installera Files2PDF-modulen är via npm, använd följande kommando för att installera API:et.

Installera Files2PDF-biblioteket via npm

npm install files2pdf

Installera Files2PDF-biblioteket via GibHub

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

Batchbearbetningskapacitet

Det öppna källkods‑biblioteket Files2PDF har inkluderat olika funktioner för att konvertera flera filer till PDF‑dokument samtidigt. En av de mest framstående funktionerna är dess förmåga att bearbeta hela mappar med dokument i en enda operation. Istället för att konvertera filer en efter en kan du rikta Files2PDF mot en katalog som innehåller flera dokument, och det kommer systematiskt att konvertera varje stödd fil till PDF‑format.

Hur konverterar du flera dokument till PDF-filer i Node.js-appar?

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);
    }
  });

Stöd för flera format

Files2PDF hanterar både äldre och moderna Microsoft Office-format sömlöst. Paketet stöder PowerPoint-filer i både .ppt- och .pptx-format, samt Word-dokument i .doc- och .docx-format. Detta omfattande formatstöd säkerställer kompatibilitet med dokument som skapats i olika versioner av Microsoft Office. Följande kodexempel visar hur ett filövervakningssystem kan användas för att skapa ett automatiserat dokumentkonverteringssystem som övervakar en katalog för nya filer och konverterar dem automatiskt.

Hur skapar du ett filövervakningssystem för att konvertera nya filer som laddas till en katalog i 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();

Anpassningsbar sidstorlek och orientering

En universallösning fungerar inte för PDF-filer. En skärmdump kan vara bäst i liggande läge, medan ett textdokument är bättre i stående. Files2PDF låter dig definiera sidstorlek (t.ex. A4, Letter) och orientering (Stående eller Liggande) för hela den resulterande PDF-filen, så att ditt innehåll visas korrekt.

Intelligent filfiltrering

Det öppna källkods-biblioteket Files2PDF gör det enkelt för mjukvaruutvecklare att automatiskt identifiera och bearbeta endast stödda filtyper, och smidigt hoppa över osupporterade format utan att kasta fel. Denna intelligenta filtreringsmekanism säkerställer smidig drift även när du arbetar med mappar som innehåller blandade filtyper.

 Svenska