obsidian-dev-utils
Version:
This is the collection of useful functions that you can use for your Obsidian plugin development
43 lines (40 loc) • 4.46 kB
JavaScript
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
(function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd(){return"/"},env:{},platform:"android"};globalThis.process=browserProcess})();
import { Platform } from "obsidian";
import { ensureLoaded } from "../HTMLElement.mjs";
const ELECTRON_PRINT_TO_PDF_CHANNEL = "print-to-pdf";
async function printToPdf(el, options) {
if (Platform.isMobile) {
throw new Error("Printing to PDF is not supported on mobile devices.");
}
const printDiv = document.body.createDiv("print");
printDiv.appendChild(el);
await ensureLoaded(printDiv);
const DEFAULT_SCALE_FACTOR = 100;
const DEFAULT_OPTIONS = {
filepath: "Untitled.pdf",
includeName: false,
landscape: false,
marginsType: 0,
open: true,
pageSize: "A4",
scale: 1,
scaleFactor: DEFAULT_SCALE_FACTOR
};
const fullOptions = { ...DEFAULT_OPTIONS, ...options };
try {
await new Promise((resolve) => {
window.electron.ipcRenderer.once(ELECTRON_PRINT_TO_PDF_CHANNEL, resolve);
window.electron.ipcRenderer.send(ELECTRON_PRINT_TO_PDF_CHANNEL, fullOptions);
});
} finally {
printDiv.remove();
}
}
export {
printToPdf
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BkZi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgcHJpbnRpbmcgdG8gUERGLlxuICovXG5cbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBlbnN1cmVMb2FkZWQgfSBmcm9tICcuLi9IVE1MRWxlbWVudC50cyc7XG5cbmludGVyZmFjZSBQcmludFRvUGRmT3B0aW9ucyB7XG4gIGZpbGVwYXRoOiBzdHJpbmc7XG4gIGluY2x1ZGVOYW1lOiBib29sZWFuO1xuICBsYW5kc2NhcGU6IGJvb2xlYW47XG4gIG1hcmdpbnNUeXBlOiBudW1iZXI7XG4gIG9wZW46IGJvb2xlYW47XG4gIHBhZ2VTaXplOiBzdHJpbmc7XG4gIHNjYWxlOiBudW1iZXI7XG4gIHNjYWxlRmFjdG9yOiBudW1iZXI7XG59XG5cbmNvbnN0IEVMRUNUUk9OX1BSSU5UX1RPX1BERl9DSEFOTkVMID0gJ3ByaW50LXRvLXBkZic7XG5cbi8qKlxuICogUHJpbnQgdGhlIGdpdmVuIGVsZW1lbnQgdG8gYSBQREYgZmlsZS5cbiAqXG4gKiBXb3JrcyBvbmx5IG9uIGRlc2t0b3AuXG4gKlxuICogQHBhcmFtIGVsIC0gVGhlIGVsZW1lbnQgdG8gcHJpbnQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIHRvIHVzZSBmb3IgdGhlIHByaW50LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJpbnRUb1BkZihlbDogSFRNTEVsZW1lbnQsIG9wdGlvbnM6IFBhcnRpYWw8UHJpbnRUb1BkZk9wdGlvbnM+KTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmIChQbGF0Zm9ybS5pc01vYmlsZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignUHJpbnRpbmcgdG8gUERGIGlzIG5vdCBzdXBwb3J0ZWQgb24gbW9iaWxlIGRldmljZXMuJyk7XG4gIH1cblxuICBjb25zdCBwcmludERpdiA9IGRvY3VtZW50LmJvZHkuY3JlYXRlRGl2KCdwcmludCcpO1xuICBwcmludERpdi5hcHBlbmRDaGlsZChlbCk7XG4gIGF3YWl0IGVuc3VyZUxvYWRlZChwcmludERpdik7XG5cbiAgY29uc3QgREVGQVVMVF9TQ0FMRV9GQUNUT1IgPSAxMDA7XG4gIGNvbnN0IERFRkFVTFRfT1BUSU9OUzogUHJpbnRUb1BkZk9wdGlvbnMgPSB7XG4gICAgZmlsZXBhdGg6ICdVbnRpdGxlZC5wZGYnLFxuICAgIGluY2x1ZGVOYW1lOiBmYWxzZSxcbiAgICBsYW5kc2NhcGU6IGZhbHNlLFxuICAgIG1hcmdpbnNUeXBlOiAwLFxuICAgIG9wZW46IHRydWUsXG4gICAgcGFnZVNpemU6ICdBNCcsXG4gICAgc2NhbGU6IDEsXG4gICAgc2NhbGVGYWN0b3I6IERFRkFVTFRfU0NBTEVfRkFDVE9SXG4gIH07XG5cbiAgY29uc3QgZnVsbE9wdGlvbnMgPSB7IC4uLkRFRkFVTFRfT1BUSU9OUywgLi4ub3B0aW9ucyB9O1xuXG4gIHRyeSB7XG4gICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHdpbmRvdy5lbGVjdHJvbi5pcGNSZW5kZXJlci5vbmNlKEVMRUNUUk9OX1BSSU5UX1RPX1BERl9DSEFOTkVMLCByZXNvbHZlKTtcbiAgICAgIHdpbmRvdy5lbGVjdHJvbi5pcGNSZW5kZXJlci5zZW5kKEVMRUNUUk9OX1BSSU5UX1RPX1BERl9DSEFOTkVMLCBmdWxsT3B0aW9ucyk7XG4gICAgfSk7XG4gIH0gZmluYWxseSB7XG4gICAgcHJpbnREaXYucmVtb3ZlKCk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7QUFNQSxTQUFTLGdCQUFnQjtBQUV6QixTQUFTLG9CQUFvQjtBQWE3QixNQUFNLGdDQUFnQztBQVV0QyxlQUFzQixXQUFXLElBQWlCLFNBQW9EO0FBQ3BHLE1BQUksU0FBUyxVQUFVO0FBQ3JCLFVBQU0sSUFBSSxNQUFNLHFEQUFxRDtBQUFBLEVBQ3ZFO0FBRUEsUUFBTSxXQUFXLFNBQVMsS0FBSyxVQUFVLE9BQU87QUFDaEQsV0FBUyxZQUFZLEVBQUU7QUFDdkIsUUFBTSxhQUFhLFFBQVE7QUFFM0IsUUFBTSx1QkFBdUI7QUFDN0IsUUFBTSxrQkFBcUM7QUFBQSxJQUN6QyxVQUFVO0FBQUEsSUFDVixhQUFhO0FBQUEsSUFDYixXQUFXO0FBQUEsSUFDWCxhQUFhO0FBQUEsSUFDYixNQUFNO0FBQUEsSUFDTixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxhQUFhO0FBQUEsRUFDZjtBQUVBLFFBQU0sY0FBYyxFQUFFLEdBQUcsaUJBQWlCLEdBQUcsUUFBUTtBQUVyRCxNQUFJO0FBQ0YsVUFBTSxJQUFJLFFBQVEsQ0FBQyxZQUFZO0FBQzdCLGFBQU8sU0FBUyxZQUFZLEtBQUssK0JBQStCLE9BQU87QUFDdkUsYUFBTyxTQUFTLFlBQVksS0FBSywrQkFBK0IsV0FBVztBQUFBLElBQzdFLENBQUM7QUFBQSxFQUNILFVBQUU7QUFDQSxhQUFTLE9BQU87QUFBQSxFQUNsQjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=