diff --git a/src/components/md-deck/PrintPreview.tsx b/src/components/md-deck/PrintPreview.tsx
index 13682a2..b2059e5 100644
--- a/src/components/md-deck/PrintPreview.tsx
+++ b/src/components/md-deck/PrintPreview.tsx
@@ -2,6 +2,7 @@ import { For, Show } from 'solid-js';
import type { DeckStore } from './hooks/deckStore';
import { usePageLayout } from './hooks/usePageLayout';
import { usePDFExport, type ExportOptions } from './hooks/usePDFExport';
+import { usePlotterExport } from './hooks/usePlotterExport';
import { getShapeSvgClipPath } from './hooks/shape-styles';
import { PrintPreviewHeader } from './PrintPreviewHeader';
import { PrintPreviewFooter } from './PrintPreviewFooter';
@@ -20,6 +21,7 @@ export function PrintPreview(props: PrintPreviewProps) {
const { store } = props;
const { getA4Size, pages, cropMarks } = usePageLayout(store);
const { exportToPDF } = usePDFExport(store, props.onClose);
+ const { exportToPlt } = usePlotterExport(store);
const frontVisibleLayers = () => store.state.frontLayerConfigs.filter((l) => l.visible);
const backVisibleLayers = () => store.state.backLayerConfigs.filter((l) => l.visible);
@@ -39,6 +41,10 @@ export function PrintPreview(props: PrintPreviewProps) {
await exportToPDF(pages(), cropMarks(), options);
};
+ const handleExportPlt = () => {
+ exportToPlt(pages());
+ };
+
return (
@@ -46,6 +52,7 @@ export function PrintPreview(props: PrintPreviewProps) {
store={store}
pageCount={pages().length}
onExport={handleExport}
+ onExportPlt={handleExportPlt}
onClose={props.onClose}
/>
diff --git a/src/components/md-deck/PrintPreviewHeader.tsx b/src/components/md-deck/PrintPreviewHeader.tsx
index 16294c1..f95ce98 100644
--- a/src/components/md-deck/PrintPreviewHeader.tsx
+++ b/src/components/md-deck/PrintPreviewHeader.tsx
@@ -4,6 +4,7 @@ export interface PrintPreviewHeaderProps {
store: DeckStore;
pageCount: number;
onExport: () => void;
+ onExportPlt: () => void;
onClose: () => void;
}
@@ -86,6 +87,13 @@ export function PrintPreviewHeader(props: PrintPreviewHeaderProps) {
+