UNPKG

safeer-pdf-generator

Version:

Framework-agnostic PDF generation library with chunking, merging, S3 upload, and email delivery

72 lines 2.17 kB
import { LoggingAdapter, MergePdfsOptions, UserInfo, FooterConfig } from '../types.js'; /** * Service for merging PDF documents */ export declare class MergeService { private readonly logger; constructor(logger?: LoggingAdapter); /** * Merge multiple PDF buffers into a single PDF */ mergePdfs(chunks: Buffer[], options?: MergePdfsOptions): Promise<Buffer>; /** * Get information about PDF buffers without merging */ analyzePdfs(chunks: Buffer[]): Promise<{ totalChunks: number; totalPages: number; totalSize: number; chunkInfo: Array<{ index: number; pages: number; sizeKB: number; valid: boolean; error?: string; }>; }>; /** * Validate PDF buffers */ validatePdfs(chunks: Buffer[]): Promise<{ valid: boolean; errors: Array<{ chunkIndex: number; error: string; }>; }>; /** * Split a PDF into individual page buffers */ splitPdf(pdfBuffer: Buffer): Promise<Buffer[]>; /** * Extract specific pages from a PDF */ extractPages(pdfBuffer: Buffer, pageIndices: number[]): Promise<Buffer>; /** * Get PDF metadata */ getPdfInfo(pdfBuffer: Buffer): Promise<{ pages: number; sizeKB: number; title?: string; author?: string; creator?: string; producer?: string; creationDate?: Date; modificationDate?: Date; }>; /** * Add page numbers + footer (separator, "Generated by", company line) to a PDF. * * Footer composition is controlled per-line via `footer.show*` toggles and per-string * via `footer.labels`. A line is omitted when its underlying value is empty (no * placeholder text). Pass `footer: false` (or `footer.show: false`) to skip the * entire footer including the separator. */ addPageNumbers(pdfBuffer: Buffer, options?: { userInfo?: UserInfo; isRTL?: boolean; footer?: FooterConfig | false; }): Promise<Buffer>; } //# sourceMappingURL=MergeService.d.ts.map