無料の Node.js ライブラリで Office Word と PowerPoint を PDF に変換
Office Word と PowerPoint ファイルを PDF に読み取り・変換するオープンソースの Node.js PDF コンバータ API(バッチドキュメント変換サポート付き)
Files2PDFとは何ですか?
文書管理の世界では、ファイルを PDF に変換することは日常的な必需品です。古いプレゼンテーションをアーカイブしたり、契約書を最終化したりする場合でも、安定した編集不可のフォーマットが必要です。しかし、何百ものファイルを手作業で変換するのは悪夢です。そこで登場するのが Files2Pdf です――この軽量で強力な Node.js パッケージは、まさにこのプロセスを自動化するよう設計されています。ライブラリには、バルク/バッチドキュメント処理、複数のドキュメント形式への対応、デュアル使用モード、スマートエラーハンドリング、ディレクトリ自動化など、いくつかの重要な機能が含まれています。
Files2Pdfは、オフィス文書(特にMicrosoft WordおよびPowerPointファイル)をPDF形式に変換することを簡素化する軽量なNode.jsパッケージです。重い設定が必要な複雑なエンタープライズソリューションとは異なり、Files2Pdfは一つのことを卓越して行うことに注力しています:文書フォルダー全体を処理し、クリーンで共有準備ができたPDFを出力します。ライブラリはディレクトリ内のサポート対象ファイルを自動的に識別し、非対応のものはスキップするため、バッチジョブ中のクラッシュやエラーを防止します。
Files2PDFの使い方
Files2PDFモジュールをインストールする最良の方法はnpmを使用することです。以下のコマンドでAPIをインストールしてください。
npmでFiles2PDFライブラリをインストール
npm install files2pdfGibHubでFiles2PDFライブラリをインストール
git clone "https://github.com/An4s0/Files2Pdf.git" バッチ処理機能
オープンソースのFiles2PDFライブラリには、複数のファイルを同時にPDFドキュメントに変換するさまざまな機能が含まれています。その中でも特筆すべき機能は、文書フォルダー全体を一度の操作で処理できる点です。ファイルを1つずつ変換する代わりに、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 フォーマットの両方をシームレスに処理します。このパッケージは、.ppt と .pptx の両方の PowerPoint ファイル、および .doc と .docx の Word ドキュメントをサポートしています。この包括的なフォーマットサポートにより、さまざまなバージョンの 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 ライブラリは、ソフトウェア開発者がサポートされているファイルタイプのみを自動的に識別・処理し、エラーを投げずにサポート外のフォーマットを優雅にスキップできるようにします。このインテリジェントなフィルタリング機構により、混在したファイルタイプを含むフォルダーで作業する場合でもスムーズに動作します。