UNPKG

@progress/kendo-react-pdf

Version:

React PDF Processing enables you to export single- and multi-page content in PDF. KendoReact PDF Processing package

84 lines (83 loc) 2.44 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import * as t from "react"; import e from "prop-types"; import { drawDOM as s, exportPDF as a } from "@progress/kendo-drawing"; import { saveAs as i } from "@progress/kendo-file-saver"; import { getPageMargin as p } from "./getPageMargin.mjs"; import m from "./KendoDrawingAdapter.mjs"; import { validatePackage as g, WatermarkOverlay as l } from "@progress/kendo-react-common"; import { packageMetadata as c } from "./package-metadata.mjs"; const o = class o extends t.Component { constructor(r) { super(r), this.rootElForPDF = null, this.showLicenseWatermark = !1, this.showLicenseWatermark = !g(c, { component: "PDFExport" }); } /** * @hidden */ render() { return /* @__PURE__ */ t.createElement( "div", { ref: (r) => { this.rootElForPDF = r; } }, this.props.children, this.showLicenseWatermark && /* @__PURE__ */ t.createElement(l, null) ); } /** * Saves the content as a PDF file. * * @param callback - The callback to be executed after the PDF is saved. */ save(r) { new m(s, a, i, this.rootElForPDF, this.getOptions()).savePDF(r); } getOptions() { return Object.assign({}, this.props, { margin: p(this.props) }); } }; o.propTypes = { author: e.string, avoidLinks: e.oneOfType([e.bool, e.string]), forcePageBreak: e.string, keepTogether: e.string, creator: e.string, date: e.instanceOf(Date), imageResolution: e.number, fileName: e.string, forceProxy: e.bool, keywords: e.string, landscape: e.bool, margin: e.oneOfType([ e.string, e.number, e.shape({ left: e.oneOfType([e.number, e.string]), top: e.oneOfType([e.number, e.string]), right: e.oneOfType([e.number, e.string]), bottom: e.oneOfType([e.number, e.string]) }) ]), pageTemplate: e.any, paperSize: e.any, repeatHeaders: e.bool, scale: e.number, proxyData: e.any, proxyURL: e.string, proxyTarget: e.string, producer: e.string, subject: e.string, title: e.string }; let n = o; export { n as PDFExport };