@elizaos/plugin-pdf-root
v2.0.0-alpha.1
Published
PDF text extraction plugin for ElizaOS.
Keywords
Readme
@elizaos/plugin-pdf
PDF text extraction plugin for ElizaOS.
Installation
To add this plugin to your Eliza OS project, run the following command:
elizaos plugins add @elizaos/plugin-pdfbun add @elizaos/plugin-pdfConfiguration
No configuration required. Uses pdfjs-dist for local PDF processing.
Usage
To use this plugin, add its name to the plugins array within your character configuration object. Eliza OS will then load and initialize the plugin automatically.
const character: Partial<Character> = {
name: "MyAgent",
plugins: ["@elizaos/plugin-pdf"],
};Usage
PdfService
Extracts text from PDF files.
Methods:
convertPdfToText(pdfBuffer: Buffer): Promise<string>- Convert PDF buffer to textconvertPdfToTextWithOptions(pdfBuffer: Buffer, options): Promise<PdfConversionResult>- Convert with optionsgetDocumentInfo(pdfBuffer: Buffer): Promise<PdfDocumentInfo>- Get full document information
Example:
import * as fs from "node:fs/promises";
import { ServiceType, type IPdfService } from "@elizaos/core"; // Assuming ServiceType and IPdfService are available
async function extractTextFromPdf(runtime: IAgentRuntime, filePath: string) {
try {
// Obtain the PdfService instance from the runtime
const pdfService = runtime.getService<IPdfService>(ServiceType.PDF);
if (!pdfService) {
console.error("PdfService not found. Ensure the plugin is registered.");
return;
}
// Read the PDF file into a buffer
const pdfBuffer = await fs.readFile(filePath);
// Convert the PDF buffer to text
const textContent = await pdfService.convertPdfToText(pdfBuffer);
console.log("Extracted Text:", textContent);
return textContent;
} catch (error) {
console.error("Error extracting text from PDF:", error);
}
}
// Assuming 'agentRuntime' is your initialized IAgentRuntime instance
// extractTextFromPdf(agentRuntime, 'path/to/your/document.pdf');Dependencies
pdfjs-dist- PDF parsing and rendering
License
MIT
