UNPKG

@compdfkit_pdf_sdk/react_native

Version:

ComPDFKit for React Native is a comprehensive SDK that allows you to quickly add PDF functionality to Android, iOS, and React Native applications.

130 lines 4.31 kB
"use strict"; /** * Copyright © 2014-2026 PDF Technologies, Inc. All Rights Reserved. * * THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW * AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT. * UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES. * This notice may not be removed from this file. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.CPDFImageData = exports.CPDFImageType = void 0; /** * Enumeration of supported image data types for inserting into PDF */ var CPDFImageType; (function (CPDFImageType) { /** Local file path */ CPDFImageType["FilePath"] = "filePath"; /** Base64 encoded string */ CPDFImageType["Base64"] = "base64"; /** Asset path */ CPDFImageType["Asset"] = "asset"; /** Android content Uri */ CPDFImageType["Uri"] = "uri"; })(CPDFImageType || (exports.CPDFImageType = CPDFImageType = {})); /** * Represents different types of image data for inserting into PDF. * * This class provides factory methods to create image data from various sources * such as file paths, base64 strings, assets, or Android content URIs. */ class CPDFImageData { type; data; constructor(type, data) { this.type = type; this.data = data; } /** * Create image data from a file path. * * @example * - Android: * const imageData = CPDFImageData.fromPath('/data/user/0/com.example.app/cache/image.png'); * // file:// * const imageData = CPDFImageData.fromPath('file:///data/user/0/com.example.app/cache/image.png'); * * @param filePath The absolute file path to the image * @returns CPDFImageData instance */ static fromPath(filePath) { return new CPDFImageData(CPDFImageType.FilePath, filePath); } /** * Create image data from a base64 encoded string. * * @example * const imageData = CPDFImageData.fromBase64('iVBORw0KGgoAAAANSUhEUgAAAAUA...'); * * @param base64String The base64 encoded image string * @returns CPDFImageData instance */ static fromBase64(base64String) { return new CPDFImageData(CPDFImageType.Base64, base64String); } /** * Create image data from a data URI string. * * @example * const imageData = CPDFImageData.fromDataUri('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA...'); * * @param dataUri The data URI string * @returns CPDFImageData instance */ static fromDataUri(dataUri) { return new CPDFImageData(CPDFImageType.Base64, dataUri); } /** * Create image data from an asset path. * * @example * const imageData = CPDFImageData.fromAsset('logo.png'); * * @param assetPath The asset path to the image (relative path in assets directory) * @returns CPDFImageData instance */ static fromAsset(assetPath) { return new CPDFImageData(CPDFImageType.Asset, assetPath); } /** * Create image data from an Android content Uri. * This method is only applicable on Android platform. * * @example * const imageData = CPDFImageData.fromUri('content://media/external/images/media/1000'); * * @param uri The Android content Uri to the image * @returns CPDFImageData instance */ static fromUri(uri) { return new CPDFImageData(CPDFImageType.Uri, uri); } /** * Create image data from serialized JSON. * * @param json Serialized image data object * @returns CPDFImageData instance */ static fromJson(json) { const object = json; const typeValue = object?.type; const type = Object.values(CPDFImageType).includes(typeValue) ? typeValue : CPDFImageType.Base64; return new CPDFImageData(type, object?.data?.toString() ?? ''); } /** * Convert the image data to a JSON object for native communication. * * @returns JSON object containing type and data */ toJson() { return { type: this.type, data: this.data, }; } } exports.CPDFImageData = CPDFImageData; //# sourceMappingURL=CPDFImageData.js.map