diff --git a/packages/client/src/components/document/export/index.tsx b/packages/client/src/components/document/export/index.tsx index 7ec11983..c1937c84 100644 --- a/packages/client/src/components/document/export/index.tsx +++ b/packages/client/src/components/document/export/index.tsx @@ -70,7 +70,7 @@ export const DocumentExporter: React.FC = ({ document, render }) => { }} > -
+
@@ -82,7 +82,7 @@ export const DocumentExporter: React.FC = ({ document, render }) => {
-
+
@@ -94,7 +94,7 @@ export const DocumentExporter: React.FC = ({ document, render }) => {
-
+
@@ -108,7 +108,7 @@ export const DocumentExporter: React.FC = ({ document, render }) => {
-
+
@@ -166,7 +166,7 @@ export const DocumentExporter: React.FC = ({ document, render }) => { {content}
} > diff --git a/packages/client/src/components/document/export/pdf.ts b/packages/client/src/components/document/export/pdf.ts index c50b782e..69d16894 100644 --- a/packages/client/src/components/document/export/pdf.ts +++ b/packages/client/src/components/document/export/pdf.ts @@ -9,8 +9,7 @@ function printHtml(dom: Element) { const content: string = style + dom.outerHTML; const iframe: HTMLIFrameElement = document.createElement('iframe'); - iframe.id = 'el-tiptap-iframe'; - iframe.setAttribute('style', 'position: absolute; width: 0; height: 0; top: -10px; left: -10px;'); + iframe.setAttribute('style', 'position: absolute; width: 0; height: 0; top: 0; left: 0;'); document.body.appendChild(iframe); const frameWindow = iframe.contentWindow; diff --git a/packages/client/src/tiptap/core/extensions/table.ts b/packages/client/src/tiptap/core/extensions/table.ts index 1f7dcc10..4d5711e5 100644 --- a/packages/client/src/tiptap/core/extensions/table.ts +++ b/packages/client/src/tiptap/core/extensions/table.ts @@ -142,6 +142,10 @@ export const Table = BuiltInTable.extend({ }, addProseMirrorPlugins() { - return [...this.parent(), !this.editor.isEditable && readonlyTableView()].filter(Boolean); + // @ts-ignore + const isPrint = this.editor?.options?.editorProps?.print; + const isEditable = this.editor?.isEditable; + + return [...this.parent(), !isPrint && !isEditable && readonlyTableView()].filter(Boolean); }, }).configure({ resizable: true }); diff --git a/packages/client/src/tiptap/core/extensions/title.ts b/packages/client/src/tiptap/core/extensions/title.ts index 63d30e5c..9b02bfb8 100644 --- a/packages/client/src/tiptap/core/extensions/title.ts +++ b/packages/client/src/tiptap/core/extensions/title.ts @@ -60,17 +60,7 @@ export const Title = Node.create({ renderHTML({ HTMLAttributes, node }) { const { cover } = node.attrs; - return [ - 'h1', - mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, nodeAttrsToDataset(node)), - [ - 'img', - { - src: cover, - }, - ], - ['div', 0], - ]; + return ['h1', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, nodeAttrsToDataset(node)), 0]; }, addNodeView() { diff --git a/packages/client/src/tiptap/core/styles/base.scss b/packages/client/src/tiptap/core/styles/base.scss index 8a51a3e0..37f98cc1 100644 --- a/packages/client/src/tiptap/core/styles/base.scss +++ b/packages/client/src/tiptap/core/styles/base.scss @@ -118,3 +118,9 @@ body[theme-mode='dark'] { } } } + +@media print { + .ProseMirror { + padding: 1cm; + } +} diff --git a/packages/client/src/tiptap/core/styles/table.scss b/packages/client/src/tiptap/core/styles/table.scss index 803f98c2..6d97ea58 100644 --- a/packages/client/src/tiptap/core/styles/table.scss +++ b/packages/client/src/tiptap/core/styles/table.scss @@ -1,5 +1,4 @@ /* stylelint-disable */ - .ProseMirror { $tableBorderColor: var(--semi-color-border); $tableHeaderBgColor: var(--semi-color-fill-0); @@ -286,3 +285,12 @@ cursor: col-resize; /* stylelint-disable declaration-block-no-duplicate-properties */ } } + +@media print { + .ProseMirror { + table { + margin-top: 0.75em; + table-layout: fixed; + } + } +} diff --git a/packages/client/src/tiptap/core/styles/title.scss b/packages/client/src/tiptap/core/styles/title.scss index 71f269d9..286fdfac 100644 --- a/packages/client/src/tiptap/core/styles/title.scss +++ b/packages/client/src/tiptap/core/styles/title.scss @@ -31,3 +31,11 @@ } } } + +@media print { + .ProseMirror { + .node-title { + border-bottom: 0; + } + } +}