Spire.pdf 等打印 pdf 的库需要付费,因此本篇文章是通过使用 Google 开源的 PDFium 项目实现打印, PDFium 项目开源且跨平台。

bblanchon.PDFium.Win32 则是一个使用 C# 封装了 PDFium 的库。

引入三个库:

理论上,如果使用了 bblanchon.PDFium.Win32 ,理论上会自动携带 PDFium 动态库,示例:

file

bblanchon.PDFium 还有其它系统下的封装库,会自动带上对应系统的 PDFium 动态库。

file

正常情况,编译项目之后,会自动在目录中带出这些动态库, 不过有些情况下,使用 Release 发布项目不会带出这些动态库。例如程序设置了框架为 net8.0-windows 或者编译的时候指定了系统和 CPU 架构,例如 dotnet publish -c Release -r win-x64

这个时候编译出来的程序是不会带出动态库的。
可以手动到这个仓库下载编译好的动态库:https://github.com/bblanchon/pdfium-binaries

然后手动放到项目的目录下:

并不需要所以动态库都使用,比如我只需要在 win x64 下使用,则只需要复制这个文件到项目下面:

file
file

下面开始讲解代码。

定义两个传递配置的模型类:

定义从 PrintOption 配置整理到打印机设置的函数。

打印文字:

打印图片:

打印 pdf:

由于生成的文件带有一些动态库,导致体积太大,不需要的情况下可以使用脚本自动删除。

写到主项目的 .csproj 文件中。

如果只需要 x64 不需要 x86,那么还可以减小体积。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。