From d9a3edb8427b37cd1931769eed544b39553c8450 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Mon, 20 Oct 2025 00:06:25 +0800 Subject: [PATCH] :art: Support calling system printing on Android https://github.com/siyuan-note/siyuan/issues/16152 Signed-off-by: Daniel <845765@qq.com> --- app/appearance/langs/ar_SA.json | 1 + app/appearance/langs/de_DE.json | 1 + app/appearance/langs/en_US.json | 1 + app/appearance/langs/es_ES.json | 1 + app/appearance/langs/fr_FR.json | 1 + app/appearance/langs/he_IL.json | 1 + app/appearance/langs/it_IT.json | 1 + app/appearance/langs/ja_JP.json | 1 + app/appearance/langs/pl_PL.json | 1 + app/appearance/langs/pt_BR.json | 1 + app/appearance/langs/ru_RU.json | 1 + app/appearance/langs/zh_CHT.json | 1 + app/appearance/langs/zh_CN.json | 1 + app/src/menus/commonMenuItem.ts | 2 +- app/src/protyle/export/index.ts | 2 ++ app/src/types/index.d.ts | 3 ++- 16 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/appearance/langs/ar_SA.json b/app/appearance/langs/ar_SA.json index 2c3d751f1..c2a220302 100644 --- a/app/appearance/langs/ar_SA.json +++ b/app/appearance/langs/ar_SA.json @@ -1,4 +1,5 @@ { + "print": "طباعة", "clickArrow": "انقر على السهم", "foldAll": "طي الكل", "expandSameLevelHeading": "توسيع العناوين من نفس المستوى", diff --git a/app/appearance/langs/de_DE.json b/app/appearance/langs/de_DE.json index bfc53d84b..86c852f15 100644 --- a/app/appearance/langs/de_DE.json +++ b/app/appearance/langs/de_DE.json @@ -1,4 +1,5 @@ { + "print": "Drucken", "clickArrow": "Klicken Sie auf den Pfeil", "foldAll": "Alle einklappen", "expandSameLevelHeading": "Überschriften auf gleicher Ebene ausklappen", diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index 4a80293d2..465ed87f7 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -1,4 +1,5 @@ { + "print": "Print", "clickArrow": "Click arrow", "foldAll": "Fold all", "expandSameLevelHeading": "Expand same level heading", diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index 9d63b1aac..4483a81c7 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -1,4 +1,5 @@ { + "print": "Imprimir", "clickArrow": "Haz clic en la flecha", "foldAll": "Colapsar todo", "expandSameLevelHeading": "Expandir títulos del mismo nivel", diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index 8e1902d47..c9c95d2c1 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -1,4 +1,5 @@ { + "print": "Imprimer", "clickArrow": "Cliquez sur la flèche", "foldAll": "Tout replier", "expandSameLevelHeading": "Développer les titres du même niveau", diff --git a/app/appearance/langs/he_IL.json b/app/appearance/langs/he_IL.json index 6dc17e366..801357d6c 100644 --- a/app/appearance/langs/he_IL.json +++ b/app/appearance/langs/he_IL.json @@ -1,4 +1,5 @@ { + "print": "הדפס", "clickArrow": "לחץ על החץ", "foldAll": "קפל הכל", "expandSameLevelHeading": "הרחב כותרות באותו רמה", diff --git a/app/appearance/langs/it_IT.json b/app/appearance/langs/it_IT.json index 473efd184..e0938121f 100644 --- a/app/appearance/langs/it_IT.json +++ b/app/appearance/langs/it_IT.json @@ -1,4 +1,5 @@ { + "print": "Stampa", "clickArrow": "Clicca sulla freccia", "foldAll": "Comprimi tutto", "expandSameLevelHeading": "Espandi intestazioni dello stesso livello", diff --git a/app/appearance/langs/ja_JP.json b/app/appearance/langs/ja_JP.json index dd18f00b3..a62c165bc 100644 --- a/app/appearance/langs/ja_JP.json +++ b/app/appearance/langs/ja_JP.json @@ -1,4 +1,5 @@ { + "print": "印刷", "clickArrow": "矢印をクリック", "foldAll": "すべて折りたたむ", "expandSameLevelHeading": "同じレベルの見出しを展開", diff --git a/app/appearance/langs/pl_PL.json b/app/appearance/langs/pl_PL.json index bd38a1162..b6c7614f7 100644 --- a/app/appearance/langs/pl_PL.json +++ b/app/appearance/langs/pl_PL.json @@ -1,4 +1,5 @@ { + "print": "Drukuj", "clickArrow": "Kliknij strzałkę", "foldAll": "Zwiń wszystko", "expandSameLevelHeading": "Rozwiń nagłówki na tym samym poziomie", diff --git a/app/appearance/langs/pt_BR.json b/app/appearance/langs/pt_BR.json index 67d41bd6d..7509c4d37 100644 --- a/app/appearance/langs/pt_BR.json +++ b/app/appearance/langs/pt_BR.json @@ -1,4 +1,5 @@ { + "print": "Imprimir", "clickArrow": "Clique na seta", "foldAll": "Recolher tudo", "expandSameLevelHeading": "Expandir títulos do mesmo nível", diff --git a/app/appearance/langs/ru_RU.json b/app/appearance/langs/ru_RU.json index a5d50a6ab..4f57be750 100644 --- a/app/appearance/langs/ru_RU.json +++ b/app/appearance/langs/ru_RU.json @@ -1,4 +1,5 @@ { + "print": "Печать", "clickArrow": "Нажмите стрелку", "foldAll": "Свернуть всё", "expandSameLevelHeading": "Развернуть заголовки того же уровня", diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index c2d2560d4..a2e648f8d 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -1,4 +1,5 @@ { + "print": "列印", "clickArrow": "點擊箭頭", "foldAll": "全部摺疊", "expandSameLevelHeading": "展開同級標題", diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index 49ea35d53..e26d4d60b 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -1,4 +1,5 @@ { + "print": "打印", "clickArrow": "点击箭头", "foldAll": "全部折叠", "expandSameLevelHeading": "展开同级标题", diff --git a/app/src/menus/commonMenuItem.ts b/app/src/menus/commonMenuItem.ts index c896054f1..e67ee4267 100644 --- a/app/src/menus/commonMenuItem.ts +++ b/app/src/menus/commonMenuItem.ts @@ -767,7 +767,7 @@ export const exportMd = (id: string) => { merge: localData.mergeSubdocs, }, async response => { const html = await onExport(response, undefined, {type: "pdf", id}); - window.JSAndroid.exportPDF(html); + window.JSAndroid.print(html); }); } }, diff --git a/app/src/protyle/export/index.ts b/app/src/protyle/export/index.ts index 6539983e7..70f41bd35 100644 --- a/app/src/protyle/export/index.ts +++ b/app/src/protyle/export/index.ts @@ -649,6 +649,7 @@ export const onExport = async (data: IWebSocketData, filePath: string, exportOpt if (!isDefault) { themeStyle = ``; } + const screenWidth = window.JSAndroid.getScreenWidthPx(); const html = ` @@ -678,6 +679,7 @@ style="max-width: 800px;margin: 0 auto;" id="preview">${data.data.content}