feat(scan): support iX1600 duplex scanning on Linux
This commit is contained in:
@@ -27,6 +27,7 @@ const editState = reactive({
|
||||
resolution: 300,
|
||||
mode: "Color",
|
||||
source: "",
|
||||
paperSize: "A4",
|
||||
postprocess: false,
|
||||
postprocessProfile: "document",
|
||||
})
|
||||
@@ -64,10 +65,18 @@ const applyAgentToForm = (agent: InstanceAgent | null) => {
|
||||
editState.resolution = Number(agent.scanDefaults?.resolution || 300)
|
||||
editState.mode = agent.scanDefaults?.mode || "Color"
|
||||
editState.source = agent.scanDefaults?.source || ""
|
||||
editState.paperSize = agent.scanDefaults?.paperSize || "A4"
|
||||
editState.postprocess = Boolean(agent.scanDefaults?.postprocess)
|
||||
editState.postprocessProfile = agent.scanDefaults?.postprocessProfile || "document"
|
||||
}
|
||||
|
||||
const applyIx1600Preset = () => {
|
||||
Object.assign(editState, {
|
||||
format: "pdf", resolution: 300, mode: "Color", source: "ADF Duplex",
|
||||
paperSize: "A4", postprocess: false, postprocessProfile: "document"
|
||||
})
|
||||
}
|
||||
|
||||
watch(selectedAgent, (agent) => applyAgentToForm(agent), { immediate: true })
|
||||
|
||||
const loadAgents = async () => {
|
||||
@@ -130,6 +139,10 @@ const createAgent = async () => {
|
||||
|
||||
const saveAgent = async () => {
|
||||
if (!selectedAgent.value) return
|
||||
if (/adf|document feeder/i.test(editState.source) && editState.format !== "pdf") {
|
||||
toast.add({ title: "Für Einzug- und Duplex-Scans bitte PDF wählen", color: "error" })
|
||||
return
|
||||
}
|
||||
|
||||
saving.value = true
|
||||
|
||||
@@ -144,6 +157,7 @@ const saveAgent = async () => {
|
||||
resolution: Number(editState.resolution || 300),
|
||||
mode: editState.mode,
|
||||
source: editState.source || null,
|
||||
paperSize: editState.paperSize,
|
||||
postprocess: editState.postprocess,
|
||||
postprocessProfile: editState.postprocessProfile,
|
||||
},
|
||||
@@ -315,6 +329,10 @@ onMounted(async () => {
|
||||
/>
|
||||
</UFormField>
|
||||
|
||||
<UButton color="neutral" variant="soft" @click="applyIx1600Preset">
|
||||
ScanSnap iX1600: A4, Duplex, PDF
|
||||
</UButton>
|
||||
|
||||
<div class="grid gap-3 sm:grid-cols-2">
|
||||
<UFormField label="Format">
|
||||
<USelectMenu
|
||||
@@ -342,6 +360,13 @@ onMounted(async () => {
|
||||
</UFormField>
|
||||
</div>
|
||||
|
||||
<UFormField label="Papierformat">
|
||||
<USelectMenu v-model="editState.paperSize" :items="[
|
||||
{ label: 'A4', value: 'A4' }, { label: 'Letter', value: 'Letter' },
|
||||
{ label: 'Scanner-Vorgabe', value: 'auto' }
|
||||
]" value-key="value" label-key="label" />
|
||||
</UFormField>
|
||||
|
||||
<div class="grid gap-3 sm:grid-cols-[auto_minmax(0,1fr)]">
|
||||
<UCheckbox v-model="editState.postprocess" label="OpenCV-Nachbearbeitung" />
|
||||
<UFormField label="Profil">
|
||||
|
||||
Reference in New Issue
Block a user