/** * PDF 解析器主类 */ import type { ParserConfig, ExtractOptions, SearchOptions, SearchResult, PDFMetadata, TOCItem, ImageExtractOptions } from './types/index.js'; /** * PDF 解析器 */ export declare class PDFParser { private config; private textExtractor; private metadataExtractor; private imageExtractor; private tocExtractor; private searchEngine; constructor(config?: ParserConfig); /** * 提取完整文本 * @param path - PDF 文件路径 * @param options - 提取选项,包括密码 */ extractText(path: string, options?: ExtractOptions): Promise; /** * 提取加密 PDF 文本 * @param path - PDF 文件路径 * @param password - PDF 密码 * @param options - 其他提取选项 */ extractEncryptedText(path: string, password: string, options?: ExtractOptions): Promise; /** * 提取单页 */ extractPage(path: string, page: number): Promise; /** * 提取页码范围 */ extractRange(path: string, range: string): Promise; /** * 获取元数据 */ getMetadata(path: string): Promise; /** * 搜索关键词 */ search(path: string, query: string, options?: SearchOptions): Promise; /** * 提取图片 * * @param path - PDF 文件路径 * @param outputDir - 输出目录 * @param options - 提取选项 * @returns 提取的图片路径数组 * * @throws Error - 功能未完全实现,需要 pdfjs-dist */ extractImages(path: string, outputDir: string, options?: ImageExtractOptions): Promise; /** * 获取目录 * * @param path - PDF 文件路径 * @returns 目录项数组 * * @note 当前实现返回空数组,完整功能需要 pdfjs-dist */ getTOC(path: string): Promise; /** * 读取文件 */ private readFile; /** * 将文本分割为页面(简化实现) */ private splitIntoPages; /** * 合并配置 */ private mergeConfig; } //# sourceMappingURL=parser.d.ts.map