/** * PDF module for excelts. * * A full-featured, zero-dependency PDF engine for both writing and reading. * * @example Standalone PDF generation: * ```typescript * import { pdf } from "excelts/pdf"; * * const bytes = await pdf([ * ["Product", "Revenue"], * ["Widget", 1000], * ["Gadget", 2500] * ]); * ``` * * @example From Excel Workbook: * ```typescript * import { Workbook } from "excelts"; * import { excelToPdf } from "excelts/pdf"; * * const workbook = new Workbook(); * const sheet = workbook.addWorksheet("Sales"); * sheet.addRow(["Product", "Revenue"]); * const bytes = await excelToPdf(workbook); * ``` * * @example Read PDF — extract text, images, and metadata: * ```typescript * import { readPdf } from "excelts/pdf"; * * const result = await readPdf(pdfBytes); * console.log(result.text); // All text * console.log(result.pages[0].text); // Page 1 text * console.log(result.pages[0].images); // Page 1 images * console.log(result.pages[0].annotations); // Page 1 annotations * console.log(result.metadata.title); // Document title * console.log(result.formFields); // Form fields * ``` * * @module pdf */ /** Standalone PDF generation — accepts plain arrays, sheet objects, or workbooks. */ export { pdf } from "./pdf.js"; /** Excel-to-PDF conversion — accepts an Excel Workbook instance. */ export { excelToPdf, chartToPdf, createWordChartPdfRenderer, type ChartToPdfOptions } from "./excel-bridge.js"; /** Word-to-PDF conversion — accepts a DocxDocument. */ export { docxToPdf } from "./word-bridge.js"; export type { DocxToPdfOptions } from "./word-bridge.js"; /** Read a PDF file and extract text, images, and metadata. */ export { readPdf } from "./reader/pdf-reader.js"; /** Build PDFs with free text positioning, vector drawing, and images. */ export { PdfDocumentBuilder, PdfPageBuilder, parseSvgPath } from "./builder/document-builder.js"; /** Edit existing PDFs: overlay content, fill forms, copy/merge pages. */ export { PdfEditor, PdfEditorPage } from "./builder/pdf-editor.js"; /** Digital signatures — verify and sign PDF documents. */ export { verifyPdfSignature, signPdf, buildSignatureDictPlaceholder, asn1Parse } from "./core/digital-signature.js"; export type { PdfCell, PdfRow, PdfColumn, PdfSheet, PdfBook, PdfImage } from "./pdf.js"; export type { PdfExportOptions, PdfOrientation, PdfPageSize, PdfMargins, PdfColor, PageSizeName, PdfWatermark, PdfTextWatermark, PdfImageWatermark, PdfWatermarkFilter } from "./types.js"; export { PageSizes } from "./types.js"; export type { ReadPdfOptions, ReadPdfResult, ReadPdfPage } from "./reader/pdf-reader.js"; export type { PdfMetadata } from "./reader/metadata-reader.js"; export type { ExtractedImage } from "./reader/image-extractor.js"; export type { TextLine } from "./reader/text-reconstruction.js"; export type { PdfAnnotation, PdfRect } from "./reader/annotation-extractor.js"; export type { PdfFormField, PdfFormFieldType } from "./reader/form-extractor.js"; export type { PdfBookmark } from "./reader/bookmark-extractor.js"; export type { PdfTable, PdfTableRow, PdfTableCell } from "./reader/table-extractor.js"; export type { PageOptions, DrawSvgOptions, DrawTextOptions, DrawRectOptions, DrawCircleOptions, DrawEllipseOptions, DrawLineOptions, DrawPathOptions, DrawImageOptions, DocumentMetadata, PathOp, TocOptions, AnnotationType, AnnotationOptions, TextMarkupAnnotationOptions, TextAnnotationOptions, FreeTextAnnotationOptions, StampAnnotationOptions, FormFieldOptions, TextFieldOptions, CheckboxOptions, DropdownOptions, RadioGroupOptions, PdfSignatureOptions } from "./builder/document-builder.js"; export type { LoadOptions } from "./builder/pdf-editor.js"; export type { SignatureVerificationResult, CmsSignedData, SignOptions, Asn1Node } from "./core/digital-signature.js"; export { PdfError, PdfRenderError, PdfFontError, PdfStructureError, isPdfError } from "./errors.js";