新增 XSLPrintDot 项目,包含打印服务的核心功能和相关配置。实现打印机查询、打印任务处理、远程转发功能,并支持多平台设备ID获取。优化打印数据准备逻辑,增强系统的可维护性和扩展性,同时更新工作区配置以支持新项目。
This commit is contained in:
BIN
XSLPrintDot/build/windows/icon.ico
Normal file
BIN
XSLPrintDot/build/windows/icon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 72 KiB |
15
XSLPrintDot/build/windows/info.json
Normal file
15
XSLPrintDot/build/windows/info.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"fixed": {
|
||||
"file_version": "{{.Info.ProductVersion}}"
|
||||
},
|
||||
"info": {
|
||||
"0000": {
|
||||
"ProductVersion": "{{.Info.ProductVersion}}",
|
||||
"CompanyName": "{{.Info.CompanyName}}",
|
||||
"FileDescription": "{{.Info.ProductName}}",
|
||||
"LegalCopyright": "{{.Info.Copyright}}",
|
||||
"ProductName": "{{.Info.ProductName}}",
|
||||
"Comments": "{{.Info.Comments}}"
|
||||
}
|
||||
}
|
||||
}
|
||||
120
XSLPrintDot/build/windows/installer/project.nsi
Normal file
120
XSLPrintDot/build/windows/installer/project.nsi
Normal file
@@ -0,0 +1,120 @@
|
||||
Unicode true
|
||||
|
||||
####
|
||||
## Please note: Template replacements don't work in this file. They are provided with default defines like
|
||||
## mentioned underneath.
|
||||
## If the keyword is not defined, "wails_tools.nsh" will populate them with the values from ProjectInfo.
|
||||
## If they are defined here, "wails_tools.nsh" will not touch them. This allows to use this project.nsi manually
|
||||
## from outside of Wails for debugging and development of the installer.
|
||||
##
|
||||
## For development first make a wails nsis build to populate the "wails_tools.nsh":
|
||||
## > wails build --target windows/amd64 --nsis
|
||||
## Then you can call makensis on this file with specifying the path to your binary:
|
||||
## For a AMD64 only installer:
|
||||
## > makensis -DARG_WAILS_AMD64_BINARY=..\..\bin\app.exe
|
||||
## For a ARM64 only installer:
|
||||
## > makensis -DARG_WAILS_ARM64_BINARY=..\..\bin\app.exe
|
||||
## For a installer with both architectures:
|
||||
## > makensis -DARG_WAILS_AMD64_BINARY=..\..\bin\app-amd64.exe -DARG_WAILS_ARM64_BINARY=..\..\bin\app-arm64.exe
|
||||
####
|
||||
## The following information is taken from the ProjectInfo file, but they can be overwritten here.
|
||||
####
|
||||
## !define INFO_PROJECTNAME "MyProject" # Default "{{.Name}}"
|
||||
## !define INFO_COMPANYNAME "MyCompany" # Default "{{.Info.CompanyName}}"
|
||||
## !define INFO_PRODUCTNAME "MyProduct" # Default "{{.Info.ProductName}}"
|
||||
## !define INFO_PRODUCTVERSION "1.0.0" # Default "{{.Info.ProductVersion}}"
|
||||
## !define INFO_COPYRIGHT "Copyright" # Default "{{.Info.Copyright}}"
|
||||
###
|
||||
## !define PRODUCT_EXECUTABLE "Application.exe" # Default "${INFO_PROJECTNAME}.exe"
|
||||
## !define UNINST_KEY_NAME "UninstKeyInRegistry" # Default "${INFO_COMPANYNAME}${INFO_PRODUCTNAME}"
|
||||
####
|
||||
## !define REQUEST_EXECUTION_LEVEL "admin" # Default "admin" see also https://nsis.sourceforge.io/Docs/Chapter4.html
|
||||
####
|
||||
## Include the wails tools
|
||||
####
|
||||
!include "wails_tools.nsh"
|
||||
|
||||
# The version information for this two must consist of 4 parts
|
||||
VIProductVersion "${INFO_PRODUCTVERSION}.0"
|
||||
VIFileVersion "${INFO_PRODUCTVERSION}.0"
|
||||
|
||||
VIAddVersionKey "CompanyName" "${INFO_COMPANYNAME}"
|
||||
VIAddVersionKey "FileDescription" "${INFO_PRODUCTNAME} Installer"
|
||||
VIAddVersionKey "ProductVersion" "${INFO_PRODUCTVERSION}"
|
||||
VIAddVersionKey "FileVersion" "${INFO_PRODUCTVERSION}"
|
||||
VIAddVersionKey "LegalCopyright" "${INFO_COPYRIGHT}"
|
||||
VIAddVersionKey "ProductName" "${INFO_PRODUCTNAME}"
|
||||
|
||||
# Enable HiDPI support. https://nsis.sourceforge.io/Reference/ManifestDPIAware
|
||||
ManifestDPIAware true
|
||||
|
||||
!include "MUI.nsh"
|
||||
|
||||
!define MUI_ICON "..\icon.ico"
|
||||
!define MUI_UNICON "..\icon.ico"
|
||||
# !define MUI_WELCOMEFINISHPAGE_BITMAP "resources\leftimage.bmp" #Include this to add a bitmap on the left side of the Welcome Page. Must be a size of 164x314
|
||||
!define MUI_FINISHPAGE_NOAUTOCLOSE # Wait on the INSTFILES page so the user can take a look into the details of the installation steps
|
||||
!define MUI_ABORTWARNING # This will warn the user if they exit from the installer.
|
||||
|
||||
!insertmacro MUI_PAGE_WELCOME # Welcome to the installer page.
|
||||
# !insertmacro MUI_PAGE_LICENSE "resources\eula.txt" # Adds a EULA page to the installer
|
||||
!insertmacro MUI_PAGE_DIRECTORY # In which folder install page.
|
||||
!insertmacro MUI_PAGE_INSTFILES # Installing page.
|
||||
!insertmacro MUI_PAGE_FINISH # Finished installation page.
|
||||
|
||||
!insertmacro MUI_UNPAGE_INSTFILES # Uinstalling page
|
||||
|
||||
!insertmacro MUI_LANGUAGE "English" # Set the Language of the installer
|
||||
|
||||
## The following two statements can be used to sign the installer and the uninstaller. The path to the binaries are provided in %1
|
||||
#!uninstfinalize 'signtool --file "%1"'
|
||||
#!finalize 'signtool --file "%1"'
|
||||
|
||||
Name "${INFO_PRODUCTNAME}"
|
||||
OutFile "..\..\bin\${INFO_PROJECTNAME}-${ARCH}-installer.exe" # Name of the installer's file.
|
||||
InstallDir "$PROGRAMFILES64\${INFO_PRODUCTNAME}" # Default installing folder ($PROGRAMFILES is Program Files folder).
|
||||
ShowInstDetails show # This will always show the installation details.
|
||||
|
||||
Function .onInit
|
||||
!insertmacro wails.checkArchitecture
|
||||
FunctionEnd
|
||||
|
||||
Section
|
||||
!insertmacro wails.setShellContext
|
||||
|
||||
!insertmacro wails.webview2runtime
|
||||
|
||||
SetOutPath $INSTDIR
|
||||
|
||||
!insertmacro wails.files
|
||||
|
||||
File "resources\SumatraPDF.exe"
|
||||
|
||||
CreateShortcut "$SMPROGRAMS\${INFO_PRODUCTNAME}.lnk" "$INSTDIR\${PRODUCT_EXECUTABLE}"
|
||||
CreateShortCut "$DESKTOP\${INFO_PRODUCTNAME}.lnk" "$INSTDIR\${PRODUCT_EXECUTABLE}"
|
||||
|
||||
!insertmacro wails.associateFiles
|
||||
!insertmacro wails.associateCustomProtocols
|
||||
|
||||
!insertmacro wails.writeUninstaller
|
||||
SectionEnd
|
||||
|
||||
Section "uninstall"
|
||||
!insertmacro wails.setShellContext
|
||||
|
||||
RMDir /r "$AppData\${PRODUCT_EXECUTABLE}" # Remove the WebView2 DataPath
|
||||
|
||||
RMDir /r "$ProgramData\PrintDot"
|
||||
|
||||
Delete "$INSTDIR\SumatraPDF.exe"
|
||||
|
||||
RMDir /r $INSTDIR
|
||||
|
||||
Delete "$SMPROGRAMS\${INFO_PRODUCTNAME}.lnk"
|
||||
Delete "$DESKTOP\${INFO_PRODUCTNAME}.lnk"
|
||||
|
||||
!insertmacro wails.unassociateFiles
|
||||
!insertmacro wails.unassociateCustomProtocols
|
||||
|
||||
!insertmacro wails.deleteUninstaller
|
||||
SectionEnd
|
||||
@@ -0,0 +1,94 @@
|
||||
# For documentation, see https://www.sumatrapdfreader.org/settings/settings3-5-1.html
|
||||
Theme = Light
|
||||
FixedPageUI [
|
||||
TextColor = #000000
|
||||
BackgroundColor = #ffffff
|
||||
SelectionColor = #f5fc0c
|
||||
WindowMargin = 2 4 2 4
|
||||
PageSpacing = 4 4
|
||||
InvertColors = false
|
||||
HideScrollbars = false
|
||||
]
|
||||
ComicBookUI [
|
||||
WindowMargin = 0 0 0 0
|
||||
PageSpacing = 4 4
|
||||
CbxMangaMode = false
|
||||
]
|
||||
ChmUI [
|
||||
UseFixedPageUI = false
|
||||
]
|
||||
|
||||
SelectionHandlers [
|
||||
]
|
||||
ExternalViewers [
|
||||
]
|
||||
|
||||
ZoomLevels = 8.33 12.5 18 25 33.33 50 66.67 75 100 125 150 200 300 400 600 800 1000 1200 1600 2000 2400 3200 4800 6400
|
||||
ZoomIncrement = 0
|
||||
|
||||
PrinterDefaults [
|
||||
PrintScale = shrink
|
||||
]
|
||||
ForwardSearch [
|
||||
HighlightOffset = 0
|
||||
HighlightWidth = 15
|
||||
HighlightColor = #6581ff
|
||||
HighlightPermanent = false
|
||||
]
|
||||
Annotations [
|
||||
HighlightColor = #ffff00
|
||||
UnderlineColor = #00ff00
|
||||
SquigglyColor = #ff00ff
|
||||
StrikeOutColor = #ff0000
|
||||
FreeTextColor =
|
||||
FreeTextSize = 12
|
||||
FreeTextBorderWidth = 1
|
||||
TextIconColor =
|
||||
TextIconType =
|
||||
DefaultAuthor =
|
||||
]
|
||||
|
||||
RememberOpenedFiles = true
|
||||
RememberStatePerDocument = true
|
||||
RestoreSession = true
|
||||
UiLanguage = cn
|
||||
EnableTeXEnhancements = false
|
||||
DefaultDisplayMode = automatic
|
||||
DefaultZoom = fit page
|
||||
Shortcuts [
|
||||
]
|
||||
EscToExit = false
|
||||
ReuseInstance = false
|
||||
ReloadModifiedDocuments = true
|
||||
|
||||
MainWindowBackground = #80fff200
|
||||
FullPathInTitle = false
|
||||
ShowMenubar = true
|
||||
ShowToolbar = true
|
||||
ShowFavorites = false
|
||||
ShowToc = true
|
||||
NoHomeTab = false
|
||||
TocDy = 0
|
||||
SidebarDx = 0
|
||||
ToolbarSize = 18
|
||||
TabWidth = 300
|
||||
TreeFontSize = 0
|
||||
TreeFontWeightOffset = 0
|
||||
TreeFontName = automatic
|
||||
SmoothScroll = false
|
||||
ShowStartPage = true
|
||||
CheckForUpdates = true
|
||||
WindowState = 1
|
||||
WindowPos = 520 0 880 1140
|
||||
UseTabs = true
|
||||
UseSysColors = false
|
||||
CustomScreenDPI = 0
|
||||
|
||||
FileStates [
|
||||
]
|
||||
SessionData [
|
||||
]
|
||||
TimeOfLastUpdateCheck = 0 0
|
||||
OpenCountWeek = 798
|
||||
|
||||
# Settings below are not recognized by the current version
|
||||
BIN
XSLPrintDot/build/windows/installer/resources/SumatraPDF.exe
Normal file
BIN
XSLPrintDot/build/windows/installer/resources/SumatraPDF.exe
Normal file
Binary file not shown.
15
XSLPrintDot/build/windows/wails.exe.manifest
Normal file
15
XSLPrintDot/build/windows/wails.exe.manifest
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
|
||||
<assemblyIdentity type="win32" name="com.wails.{{.Name}}" version="{{.Info.ProductVersion}}.0" processorArchitecture="*"/>
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<asmv3:application>
|
||||
<asmv3:windowsSettings>
|
||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware> <!-- fallback for Windows 7 and 8 -->
|
||||
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">permonitorv2,permonitor</dpiAwareness> <!-- falls back to per-monitor if per-monitor v2 is not supported -->
|
||||
</asmv3:windowsSettings>
|
||||
</asmv3:application>
|
||||
</assembly>
|
||||
Reference in New Issue
Block a user