C#静默打印 PDF

本次使用第三方dll进行打印:

  • **Spire.License **

    • 版本:1.3.2.40
  • Spire.Pdf
    • 版本:3.2.52.56040
  • 官网免费版下载地址
  • 备用地址 可直接下载
  • 使用说明

静默打印

: 选择电脑中默认打印机打印

using Spire.Pdf;PdfDocument doc = new PdfDocument();
doc.LoadFromFile(@"C:\xxx.pdf", FileFormat.PDF);
Console.WriteLine(doc.UsedFonts);
PrintDocument printDoc = doc.PrintDocument;
printDoc.PrintController = new StandardPrintController();
printDoc.Print();
doc.Close();

不做任何设置的静默打印(有时)会有问题

开发的时候一直都有问题,但是问题解决之后,在来测试一下,发现不会出现问题了,很奇怪。(找不到有问题的pdf了就不放图了)

在这里说明一下
打印的pdf字形看不清楚,看上去只有半个字的样子,只有中文有问题,英文没问题

刚开始不清楚原因,因为自己新建的PDF打印也会有这个问题,就没往字体那方面想了,最后和前辈商量了一下,决定还是要确定一下是否是字体的问题,果真

##解决方法
替换原PDF文件的字体,保存为新PDF,最后打印新PDF
完整代码

using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Graphics.Fonts;PdfDocument doc = new PdfDocument();
//加载的打印PDF文件
doc.LoadFromFile(@"D:\xxx.pdf");
//获取pdf字体
PdfUsedFont[] fonts = doc.UsedFonts;
//获取自定义字体
String fontFileName = "kaiu.ttf";
Font newFont = new Font(fontFileName, 11f);
PdfTrueTypeFont newPDFFont = new PdfTrueTypeFont(newFont, true);
try {//替换pdf字体foreach (PdfUsedFont font in fonts) {font.Replace(newPDFFont);}
} catch (Exception) {
//会出现一个字体已存在的错误,不用管
}
//新PDF名字
String newPdfFileName = "new" + "xxx.pdf";
//保存新字体PDF
doc.SaveToFile(@path + newPdfFileName);
//暂停0.5秒
Thread.Sleep(500);//打印pdf
doc = new PdfDocument();
doc.LoadFromFile(@path + newPdfFileName, FileFormat.PDF);
PrintDocument printDoc = doc.PrintDocument;
printDoc.PrintController = new StandardPrintController();
printDoc.Print();
doc.Close();

C#静默打印 PDF相关推荐

  1. web 静默打印PDF插件(类似lodop)

    仅需安装插件,即可完成web静默打印PDF. 支持批量打印,JSON传参. 可本地指定默认打印机. 跨域支持,端口可自定义. 微信号联系:leechina79

  2. python静默打印pdf,在Python中静默打印PDF

    我正在尝试使用Python打印PDF,而无需打开PDF查看器应用程序(Adobe,Foxit等). 我还需要知道何时打印完成(删除文件). 在这里我find了这个实现 : import win32ui ...

  3. python打印pdf文件_Python静默打印PDF到特定的打印机

    我有一个PDF文档,我想用我的 python应用程序打印它. 我使用的方式是使用命令os.startfile('PDFfile.pdf',"print"),但它打开默认查看器(我的 ...

  4. C# 打印PDF文档的10种方法

    操作PDF文档时,打印是常见的需求之一.针对不同的打印需求,可分多种情况来进行,如设置静默打印.指定打印页码范围和打印纸张大小.双面打印.黑白打印等等.经过测试,下面将对常见的几种PDF打印需求做一些 ...

  5. python批量打印_python 批量打印PDF

    有一批PDF文件,好几百个,每个只打印第2,3页,双面打印. 网上搜索一波,方案如下: 安装Ghostscript,GhostView,使用gsprint命令打印pdf文件. gsprint命令参数说 ...

  6. 还在为打印PDF文件发愁?文档开发工具Spire.PDF 6种方式帮你搞定!

    Spire.PDF(点击下载)是一个专业的PDF组件,能够独立地创建.编写.编辑.操作和阅读PDF文件,支持 .NET.Java.WPF和Silverlight.Spire.PDF的PDF API拥有 ...

  7. C# 六种方案打印PDF文档

    打印PDF文档是开发人员经久不变的话题,常见的打印需求大致有以下六种: 用默认打印机打印PDF文档 用虚拟打印机打印PDF文档 指定打印机及PDF文档的打印页码范围 静默打印PDF文档 双面打印PDF ...

  8. C# 中望CAD(AutoCAD 非Com方式)打印PDF

    通过C#实现中望CAD的运行中静默打印PDF功能.可以自定义具体打印设备名称.纸张类型.打印样式表.打印范围.着色打印类型等:将using中的"ZwSoft.ZwCAD"改为&qu ...

  9. python静默打印pdf_前端静默打印实现 html pdf集合

    一.初步实现 前段时间,公司有个需求,要实现前端静默(点击按钮直接打印,不需要预览),本想着直接用window.print()来实现,让用户多点击一下按钮的事儿,无奈我们的产品: 最后只好继续要网上继 ...

最新文章

  1. 什么是codepage?
  2. 带参数的插入语句的问题
  3. iOS开发:几种静态扫描工具的使用与对比
  4. AD域控Exchange邮箱(二)——卸载ExchangeServer2010报错:“有些控件无效 - 请指定要卸载的现有服务器” 解决方法
  5. win11搜索位置在哪 Windows11搜索位置的设置方法
  6. 华为交换机关闭网口_关闭端口的命令 怎么开启华为交换机关闭端口,命令谁知道啊。...
  7. Eclipse 优化
  8. 【算法动画图解-5数学】:(1)辗转相除法
  9. js 动态生成表格案例
  10. 基于FPGA驱动TLC5615模块
  11. linux cpan 参数配置,Perl学习笔记之CPAN使用介绍
  12. 445/139端口的作用与危害
  13. 手机5g什么时候普及_5G网络什么时候普及,5G手机什么时候买比较合适?
  14. Flutter控件——常用控件:按钮
  15. 《社交网站界面设计(原书第2版)》——2.3 沿着脚印铺路
  16. 在线翻译html网页,HTML网页到维基页面翻译器
  17. 恶意驱动锁首手动处理的两种方法
  18. ASP连接mdb文件数据库
  19. wordpress修复插件_关于WordPress及其修复方法的15个最烦人的事情
  20. (指针处理)有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。

热门文章

  1. 2022快手前端校招一面
  2. 实验——一阶RC电路(试验记录)
  3. 线上活动| 阿里云、亚马逊云与MongoDB的技术专家带你来涨知识
  4. 大牛总结 Elastic Search 概述(一)
  5. Sharding-JDBC + SpringBoot
  6. 微信小程序学生列表显示学生信息
  7. 话机耳机模式进入保持状态下每隔1分钟会切换到免提模式后再切回耳机模式
  8. 假如我是儿子——树形动态规划
  9. [运营专题]零预算引爆个人和企业品牌
  10. poj3104 Drying(二分最大化最小值 好题)