C#静默打印 PDF
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相关推荐
- web 静默打印PDF插件(类似lodop)
仅需安装插件,即可完成web静默打印PDF. 支持批量打印,JSON传参. 可本地指定默认打印机. 跨域支持,端口可自定义. 微信号联系:leechina79
- python静默打印pdf,在Python中静默打印PDF
我正在尝试使用Python打印PDF,而无需打开PDF查看器应用程序(Adobe,Foxit等). 我还需要知道何时打印完成(删除文件). 在这里我find了这个实现 : import win32ui ...
- python打印pdf文件_Python静默打印PDF到特定的打印机
我有一个PDF文档,我想用我的 python应用程序打印它. 我使用的方式是使用命令os.startfile('PDFfile.pdf',"print"),但它打开默认查看器(我的 ...
- C# 打印PDF文档的10种方法
操作PDF文档时,打印是常见的需求之一.针对不同的打印需求,可分多种情况来进行,如设置静默打印.指定打印页码范围和打印纸张大小.双面打印.黑白打印等等.经过测试,下面将对常见的几种PDF打印需求做一些 ...
- python批量打印_python 批量打印PDF
有一批PDF文件,好几百个,每个只打印第2,3页,双面打印. 网上搜索一波,方案如下: 安装Ghostscript,GhostView,使用gsprint命令打印pdf文件. gsprint命令参数说 ...
- 还在为打印PDF文件发愁?文档开发工具Spire.PDF 6种方式帮你搞定!
Spire.PDF(点击下载)是一个专业的PDF组件,能够独立地创建.编写.编辑.操作和阅读PDF文件,支持 .NET.Java.WPF和Silverlight.Spire.PDF的PDF API拥有 ...
- C# 六种方案打印PDF文档
打印PDF文档是开发人员经久不变的话题,常见的打印需求大致有以下六种: 用默认打印机打印PDF文档 用虚拟打印机打印PDF文档 指定打印机及PDF文档的打印页码范围 静默打印PDF文档 双面打印PDF ...
- C# 中望CAD(AutoCAD 非Com方式)打印PDF
通过C#实现中望CAD的运行中静默打印PDF功能.可以自定义具体打印设备名称.纸张类型.打印样式表.打印范围.着色打印类型等:将using中的"ZwSoft.ZwCAD"改为&qu ...
- python静默打印pdf_前端静默打印实现 html pdf集合
一.初步实现 前段时间,公司有个需求,要实现前端静默(点击按钮直接打印,不需要预览),本想着直接用window.print()来实现,让用户多点击一下按钮的事儿,无奈我们的产品: 最后只好继续要网上继 ...
最新文章
- 什么是codepage?
- 带参数的插入语句的问题
- iOS开发:几种静态扫描工具的使用与对比
- AD域控Exchange邮箱(二)——卸载ExchangeServer2010报错:“有些控件无效 - 请指定要卸载的现有服务器” 解决方法
- win11搜索位置在哪 Windows11搜索位置的设置方法
- 华为交换机关闭网口_关闭端口的命令 怎么开启华为交换机关闭端口,命令谁知道啊。...
- Eclipse 优化
- 【算法动画图解-5数学】:(1)辗转相除法
- js 动态生成表格案例
- 基于FPGA驱动TLC5615模块
- linux cpan 参数配置,Perl学习笔记之CPAN使用介绍
- 445/139端口的作用与危害
- 手机5g什么时候普及_5G网络什么时候普及,5G手机什么时候买比较合适?
- Flutter控件——常用控件:按钮
- 《社交网站界面设计(原书第2版)》——2.3 沿着脚印铺路
- 在线翻译html网页,HTML网页到维基页面翻译器
- 恶意驱动锁首手动处理的两种方法
- ASP连接mdb文件数据库
- wordpress修复插件_关于WordPress及其修复方法的15个最烦人的事情
- (指针处理)有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。