@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.52 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 a, exportPDF as i } from "@progress/kendo-drawing";
import { saveAs as p } from "@progress/kendo-file-saver";
import { getPageMargin as g } from "./getPageMargin.mjs";
import m from "./KendoDrawingAdapter.mjs";
import { validatePackage as c, getLicenseMessage as l, WatermarkOverlay as f } from "@progress/kendo-react-common";
import { packageMetadata as o } from "./package-metadata.mjs";
const s = class s extends t.Component {
constructor(r) {
super(r), this.rootElForPDF = null, this.showLicenseWatermark = !1, this.showLicenseWatermark = !c(o, { component: "PDFExport" }), this.licenseMessage = l(o);
}
/**
* @hidden
*/
render() {
return /* @__PURE__ */ t.createElement(
"div",
{
ref: (r) => {
this.rootElForPDF = r;
}
},
this.props.children,
this.showLicenseWatermark && /* @__PURE__ */ t.createElement(f, { message: this.licenseMessage })
);
}
/**
* Saves the content as a PDF file.
*
* @param callback - The callback to be executed after the PDF is saved.
*/
save(r) {
new m(a, i, p, this.rootElForPDF, this.getOptions()).savePDF(r);
}
getOptions() {
return Object.assign({}, this.props, { margin: g(this.props) });
}
};
s.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 = s;
export {
n as PDFExport
};