feat(打印能力): 统一打印精度与预览边距
build.yaml / build (push) Successful in 45s

This commit is contained in:
xiaoqidun committed 2026-10-24 21:59:32 +08:00
1 parent a022c3e636
commit 865ddd47f4
3 files changed
+5 -5

No files matched your search

+1 -1
View File
@@ -700,7 +700,7 @@
<div class="form-row" data-print-row="sides" hidden><label for="printSides">打印纸面</label><select id="printSides"><option value="all">正反两面</option><option value="front">只印正面</option><option value="back">只印背面</option></select></div>
<div class="form-row" data-print-row="manual" hidden><span>背面处理</span><div class="print-field"><label class="print-check"><input id="printBackReverse" type="checkbox">倒序送纸</label><label class="print-check" title="背面旋转180°"><input id="printBackRotate" type="checkbox">背面旋转</label></div></div>
<div class="form-row"><label for="printContents">打印内容</label><select id="printContents"><option value="documentAndAnnotations">文档注解</option><option value="document">文档表单</option><option value="annotations">仅限注解</option><option value="forms">仅限表单</option></select></div>
<div class="print-options"><label><input id="printRotate" type="checkbox" checked>自动旋转</label><label><input id="printGrayscale" type="checkbox">灰度打印</label><label><input id="printBorders" type="checkbox">页面边框</label><label><input id="printCropMarks" type="checkbox">裁切标记</label><label><input id="printRaster" type="checkbox">图像打印</label><select id="printDPI" title="图像精度"><option value="150">150 DPI</option><option value="300" selected>300 DPI</option><option value="600">600 DPI</option><option value="1200">1200 DPI</option></select></div>
<div class="print-options"><label><input id="printRotate" type="checkbox" checked>自动旋转</label><label><input id="printGrayscale" type="checkbox">灰度打印</label><label><input id="printBorders" type="checkbox">页面边框</label><label><input id="printCropMarks" type="checkbox">裁切标记</label><label><input id="printRaster" type="checkbox">图像打印</label><select id="printDPI" title="图像精度"><option value="96">96 DPI</option><option value="150">150 DPI</option><option value="300" selected>300 DPI</option><option value="600">600 DPI</option></select></div>
<div class="print-options" data-print-row="poster" hidden><label title="仅拼接超出纸面的页面"><input id="printTileOnlyLarge" type="checkbox" checked>仅拼大页</label><label><input id="printLabels" type="checkbox" checked>拼接标签</label></div>
</fieldset>
<div id="printPreview" class="print-preview-page"></div>
+3 -3
View File
@@ -35,14 +35,14 @@
grid-template-columns: 310px minmax(0, 1fr);
height: min(62dvh, 660px);
min-height: 240px;
gap: 14px;
gap: 12px;
}
.print-settings {
min-width: 0;
max-height: 100%;
margin: 0;
padding: 0 8px 0 0;
padding: 0;
overflow: auto;
border: 0;
}
@@ -66,7 +66,7 @@
.print-field > span { flex: none; color: var(--text-muted); white-space: nowrap; }
.print-dialog .print-settings .print-margins input { padding: 0 3px; text-align: center; }
.print-check { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.print-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(90px, 1fr); grid-auto-rows: var(--control-height); align-items: center; gap: 8px; margin-top: 12px; }
.print-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: var(--control-height); align-items: center; gap: 8px; margin-top: 12px; }
.print-options label { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.print-check input, .print-options input { margin: 0; accent-color: var(--accent); }
.print-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 14px; margin-top: 12px; }
+1 -1
View File
@@ -45,7 +45,7 @@ export class PrintDialog {
for (const [name, value] of Object.entries(saved || {})) {
const node = this.el[name];
if (node?.type === "checkbox" && typeof value === "boolean") node.checked = value;
else if (node && typeof value === "string") node.value = value;
else if (node && typeof value === "string" && (!node.options || [...node.options].some(option => option.value === value))) node.value = value;
}
} catch {}
this.mode = this.el.Mode.value;