返回作品列表

网友作品 #000150 · 提交于 2026/08/12

PDF批量盖章工具:四角定位、参数记忆、免安装

★★★★★业余水平AI 编程工具国内其他模型dotnetexceldna

作品作者

糖醋鱼鱼业余水平
开发工具
AI 编程工具
AI 模型
国内其他模型
使用 Skill
dotnetexceldna
提交你的作品

作品简介

一款面向普通用户的 Windows 桌面程序:把印章图片(推荐透明背景 PNG)和要盖章的 PDF 拖进窗口,选好基准角位、设置印章尺寸与边距微调,点“开始处理”即可把印章批量盖到每个 PDF 的每一页,并另存到指定文件夹。所有参数自动记忆,下次打开无需重新设置;程序自带 .NET 运行时,绿色免安装,双击即用。

核心亮点

  • 批量盖章:一次处理多个 PDF,每一页都盖上印章
  • 印章与 PDF 均支持拖拽导入,PDF 还可按文件夹批量读取
  • 四角定位(左上/右上/左下/右下)+ 边距与水平、垂直微调,位置精确可控
  • 尺寸按毫米设置,支持锁定纵横比,拖入印章时自动读取真实尺寸
  • 可设置每页随机旋转角度,围绕印章中心旋转,不产生位移、保证印章完整可见
  • 参数持久化保存、重启自动恢复;处理进度与日志实时显示

技术与工具

  • 技术方案:C# + WPF + HandyControl(.NET 8,CommunityToolkit.MVVM),PDF 引擎采用 Aspose.PDF 叠加印章
  • 细节处理:毫米与 PDF 点坐标换算、自行解析 PNG/JPEG 图片尺寸、JSON 参数持久化
  • 发布方式:dotnet 自包含单文件发布,产出免安装 exe
  • 所用 Skill:dotnet、exceldna;开发方式:AI 编程类工具;水平参考:业余水平

开发过程

作者把界面布局、参数项和处理逻辑用自然语言描述清楚后交给 AI 编程工具生成整套程序,描述完就去忙自己的事情,回来时程序已经基本成型。项目按 MVVM 结构组织,最后以自包含单文件方式发布成绿色版 exe。

适用场景

  • 企业行政、财务批量给合同、报表、证明加盖公章或专用章
  • 律所、咨询机构对项目文档、法律文书批量盖章归档
原始提交内容(点开查看,可复制全文去问 AI)

PDF 批量盖章工具

一个面向普通用户的 Windows 桌面程序,使用 C# + WPF + HandyControl 编写,基于 Aspose.PDF 实现。

把印章图片和要盖章的 PDF 拖进窗口,点一下「开始处理」,就能把印章批量盖到每个 PDF 的指定位置,并另存到指定文件夹。所有参数自动记忆,下次打开无需重新设置。

功能特性

  • 批量盖章:一次处理多个 PDF,每一页都盖上印章。
  • 拖拽 / 选择文件夹:印章图片和 PDF 文件均支持拖拽加入;PDF 也支持「选择文件夹」批量读取目录内所有 PDF。
  • 四角定位:支持「左上 / 右上 / 左下 / 右下」四个角作为基准,边距标签与说明同步变化。
  • 自由调尺寸:支持「保持纵横比」开关,按宽度或高度任一侧调整;拖入印章图片时自动填入其真实尺寸(毫米)。
  • 微调控制:提供距边距、水平微调、垂直微调(毫米),以及每页随机旋转角度(围绕印章中心,增强真实感)。
  • 参数记忆:印章图片、保存文件夹、PDF 列表、所有位置/尺寸/旋转参数均持久化到 settings.json,重启自动恢复。
  • 实时日志:处理过程与结果在界面日志框实时显示(不落盘、不生成 logs 目录)。
  • 单文件发布:自带 .NET 运行时,绿色免安装,双击即用。

使用说明

  1. 运行程序:进入 dist\PdfStampTool-single 文件夹,双击 PdfStampTool.exe(自带 .NET 运行时,无需安装)。
  2. 放入印章:把透明背景的 PNG 印章图片拖到「印章图片」区域,程序会自动填入真实尺寸。
  3. 放入 PDF:把要盖章的 PDF 拖到左侧列表,或点「选择文件夹」批量加入。
  4. 调整位置(可选):
    • 选择四个角之一作为基准位置;
    • 设置印章宽度/高度(毫米,可锁定纵横比);
    • 设置距 X / 距 Y 边距、水平/垂直微调、每页随机旋转角度。
  5. 选择保存文件夹:指定盖章后文件存放位置(自动记忆上次路径)。
  6. 开始处理:点「开始处理」,进度与日志实时显示,完成后文件保存在目标文件夹。

旋转是围绕印章图片中心进行的,因此不会出现位移或变大,且旋转后依然保证印章完整可见。

技术要点

  • 开发框架:.NET 8(WPF)、CommunityToolkit.MVVM、HandyControl。
  • PDF 引擎:Aspose.PDF,ImageStamp 叠加印章,通过 HorizontalAlignment / VerticalAlignment + 边距实现四角定位,RotateAngle 实现围绕中心的随机旋转。
  • 坐标换算:1 毫米 = 72 / 25.4 点(pt)。界面使用毫米,内部转换为点。
  • 图片尺寸解析:无需 System.Drawing,自行解析 PNG(IHDR)/ JPEG(SOF 标记)像素尺寸,换算为毫米(按 96 DPI)。
  • 参数持久化:System.Text.Json 写入程序目录下的 settings.json,通过 _restoring 标志避免在启动时错误覆盖已保存值。
  • 图标:内置红色印章图标(Resources/app.ico,含 16/32/48/64 多分辨率)。

构建与发布

环境要求

  • .NET 8 SDK

源码结构

src/PdfStampTool/
 App.xaml / App.xaml.cs             程序入口,接入 HandyControl 主题
 Views/MainWindow.xaml(.cs)         主界面、拖拽事件、窗口图标
 Views/MainWindow.xaml.cs           日志订阅与界面绑定
 Views/IntEqualsConverter.cs        角标相等转换器
 Views/Bool2VisibilityReverseConverter.cs
 Views/StringNotEmptyToVisibilityConverter.cs
 ViewModels/MainWindowViewModel.cs  MVVM 视图模型、参数记忆、命令
 Services/PdfStampService.cs        基于 Aspose.PDF 的盖章核心逻辑
 Services/FileLogService.cs         仅界面显示的日志服务(不落盘)
 Services/ShellService.cs           打开文件夹等 Shell 操作
 Resources/app.ico                  程序图标

发布命令

# 自包含单文件发布(产出一个 exe,推荐给最终用户)
dotnet publish .\src\PdfStampTool\PdfStampTool.csproj -c Release -r win-x64 `
  --self-contained true -p:PublishSingleFile=true `
  -p:IncludeNativeLibrariesForSelfExtract=true `
  -o .\dist\PdfStampTool-single

输出文件

  • 发布产物位于 dist\PdfStampTool-single\,包含 PdfStampTool.exe、Aspose.PDF.dll、zh-Hans\ 语言包,以及运行时生成的 settings.json(用户参数记忆)。