@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
JavaScript
/**
* @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
};