增强条码元素和自由表格元素的渲染逻辑,支持更多条码格式和文本边框样式。新增条码渲染工具,优化打印预览窗口的打印机选择功能,提升用户体验和打印模板的灵活性。
This commit is contained in:
@@ -90,10 +90,31 @@ public class PrintDotService : IPrintDotService
|
||||
var status = resDoc?["status"]?.GetValue<string>();
|
||||
if (status == null) continue;
|
||||
if (status == "success") return;
|
||||
throw new InvalidOperationException(resDoc?["message"]?.GetValue<string>() ?? "PrintDot 打印失败");
|
||||
var rawMsg = resDoc?["message"]?.GetValue<string>() ?? "PrintDot 打印失败";
|
||||
throw new InvalidOperationException(EnhanceErrorMessage(rawMsg));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 将 PrintDot 返回的部分英文错误转换为带本地处理步骤的中文提示。
|
||||
/// 与 web 端 printDotBridge.ts::enhancePrintDotErrorMessage 行为一致,方便桌面端用户自助排查。
|
||||
/// </summary>
|
||||
private static string EnhanceErrorMessage(string raw)
|
||||
{
|
||||
var m = (raw ?? string.Empty).Trim();
|
||||
// 缺 SumatraPDF:是 PrintDot 客户端最常见的初始化错误
|
||||
if (System.Text.RegularExpressions.Regex.IsMatch(m, @"SumatraPDF\.exe not found", System.Text.RegularExpressions.RegexOptions.IgnoreCase)
|
||||
|| System.Text.RegularExpressions.Regex.IsMatch(m, "SUMATRAPDF_PATH", System.Text.RegularExpressions.RegexOptions.IgnoreCase))
|
||||
{
|
||||
return m + "。\n本地处理:PrintDot 依赖 SumatraPDF 静默打印 PDF。请安装 SumatraPDF 后任选其一:\n" +
|
||||
"① 将 SumatraPDF.exe 放在 PrintDot 客户端 exe 同目录;\n" +
|
||||
"② 或将 SumatraPDF 安装目录加入系统 PATH;\n" +
|
||||
"③ 或设置用户/系统环境变量 SUMATRAPDF_PATH 指向 SumatraPDF.exe 的完整路径;\n" +
|
||||
"然后重启 PrintDot 桥接器即可。";
|
||||
}
|
||||
return m;
|
||||
}
|
||||
|
||||
private static async Task<string> ReceiveTextAsync(ClientWebSocket ws, CancellationToken ct)
|
||||
{
|
||||
var buffer = new ArraySegment<byte>(new byte[64 * 1024]);
|
||||
|
||||
Reference in New Issue
Block a user