首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#以编程方式打印pdf文件?

C#以编程方式打印PDF文件可以通过使用第三方库来实现。以下是一个基本的示例代码:

代码语言:csharp
复制
using System;
using System.Diagnostics;
using System.Drawing.Printing;
using System.IO;
using System.Runtime.InteropServices;

namespace PrintPDFExample
{
    class Program
    {
        static void Main(string[] args)
        {
            string pdfFilePath = "path/to/your/pdf/file.pdf";
            string printerName = "Your Printer Name";

            // 设置默认打印机
            SetDefaultPrinter(printerName);

            // 打印PDF文件
            PrintPDF(pdfFilePath, printerName);
        }

        static void SetDefaultPrinter(string printerName)
        {
            // 获取默认打印机设置
            PrinterSettings settings = new PrinterSettings();
            settings.PrinterName = printerName;

            // 设置为默认打印机
            settings.DefaultPageSettings.PrinterSettings = settings;
            settings.DefaultPageSettings.PrinterSettings.PrintToFile = false;
            settings.DefaultPageSettings.PrinterSettings.PrinterName = printerName;
            settings.DefaultPageSettings.PrinterSettings.PrintFileName = string.Empty;
            settings.DefaultPageSettings.PrinterSettings.PrintRange = PrintRange.AllPages;

            // 更新系统默认打印机设置
            Type type = Type.GetTypeFromProgID("WScript.Network");
            dynamic network = Activator.CreateInstance(type);
            network.SetDefaultPrinter(printerName);
        }

        static void PrintPDF(string pdfFilePath, string printerName)
        {
            ProcessStartInfo processStartInfo = new ProcessStartInfo();
            processStartInfo.Verb = "print";
            processStartInfo.FileName = pdfFilePath;
            processStartInfo.CreateNoWindow = true;
            processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
            processStartInfo.Arguments = "\"" + printerName + "\"";

            // 使用默认打印机打印PDF文件
            Process process = new Process();
            process.StartInfo = processStartInfo;
            process.Start();
            process.WaitForExit();
        }
    }
}

这个示例代码使用了System.DiagnosticsSystem.Drawing.Printing命名空间中的类来实现打印功能。首先,通过SetDefaultPrinter方法设置默认打印机为指定的打印机。然后,使用PrintPDF方法打印指定路径的PDF文件到默认打印机。

请注意,这个示例代码仅适用于Windows操作系统。如果需要在其他操作系统上打印PDF文件,可能需要使用不同的方法或库。

对于C#打印PDF文件的更高级的需求,可以考虑使用一些第三方库,如iTextSharp、PdfSharp等。这些库提供了更多的功能和灵活性,可以实现更复杂的PDF处理和打印需求。

腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅供参考,具体产品选择应根据实际需求和情况进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

java 打印pdf_java打印pdf文件

目录 一、Java的打印简介 二、Java打印实现 2.1 JPG图片文件格式打印实现 2.2 PDF文件格式打印实现 2.3 Word文件格式打印实现 2.3.1 Word文件采用jacob插件进行打印实现...2.3.2 先将word转化为pdf文件,然后打印pdf(lz使用) 三、总结 ---- 一、Java的打印简介 在我们的实际工作中,经常需要实现打印功能。...本次调研的打印对象主要是JPG,PDF和Word这三种常见文件格式。 二、Java打印实现 2.1 JPG图片文件格式打印实现 打印JPG图片格式的文件,本次采用的Java原生的打印方式。...文件格式打印实现 在经过网上的查找及对比,我选择了使用Apache PDFbox来实现进行PDF文件格式的打印。...打印word这里共使用了2种方法,一种是直接使用jacob进行打印,这种方法打印word我暂时没有找到设置打印参数的相关方式,(但是打印Excle好像设置打印参数没问题,在PrintOut操作里设置,

5.2K20

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

前言 操作PDF文档时,打印是常见的需求之一。针对不同的打印需求,可分多种情况来进行,如设置静默打印、指定打印页码范围和打印纸张大小、双面打印、黑白打印等等。...如下: 1、使用默认打印打印PDF文档 2、使用虚拟打印机(Microsoft XPS Document Writer)打印PDF文档】 3、指定打印机及PDF文档打印页码范围 4、静默打印PDF...双面打印PDF文档 6、黑白打印PDF文档 7、打印PDF文档时选择不同的出纸盒 8、将PDF文档打印多份 9、打印PDF一页为多页、打印多页为一页 10、自定义纸张大小打印PDF 工具 Spire.PDF...在程序中添加引用Spire.Pdf.dll,dll文件在安装路径下的bin文件夹中。 2、通过Nuget网站下载。...、使用虚拟打印机自定义纸张大小打印:保持原来页面大小打印PDF //加载需要打印PDF文档 Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument

2.7K50

C# HTTP系列11 普通文件方式上传文件远程服务器

点击查看详细】 应用程序中上传附件是最常使用的操作之一,ASP.NET客户端一般通过上传控件实现, 后台C#...使用以下方式文件保存到服务上 1 HttpFileCollection files = HttpContext.Current.Request.Files; 2 HttpPostedFile postedFile...= files["fileUpload"]; 3 postedFile.SaveAs(postedFile.FileName); 上述的场景是简单的管理系统与网站中最常用的方式将客户端的文件上传到IIS...传统应用程序的上传控件方式在云端应用程序中针对附件上传与下载完全不适用。...下面提供一种通用的上传附件的方式: 1 /// 2 /// 将数据缓冲区(一般是指文件流或内存流对应的字节数组)上载到由 URI 标识的资源。

1.8K10

现在,编程方式在 Electron 中上传文件,是非常简单的!

当时,讨论区 @erikmellum 的一句 "现在在Electron 中,编码方式上传文件,几乎是不可能的",让我放弃了对 Electron 本身机制的思考.转而,基于当时 App 已有的本地代理服务器...因为已经有了更简化的方式....具体到编码方式上传文件这个问题上.这个问题的完整描述应该是类似于这样: 网站有自己的登录认证机制,在不需要在对网站登录机制做任何修改的前提下,如何自动上传用户相关的文件,比如用户头像?...但是,Electron 提供了一种全新的可能.它让你可以在 Node 侧,直接拿到 Chromium 侧的完整 Cookie.然后你就可以使用 Node 的方式,最精简的代码,最符合直觉的方式来处理文件上传...先安装一个工具库: base64-img npm install base64-img --save 然后: /* 我们有足够丰富的方式来获取或计算图片的路径,此处默认采用的方式就是: 当前目录下的 test.jpeg

4.9K00

c# 调用Microsoft XPS Document Writer打印机,将Pdf文件转换成Xps文件「建议收藏」

最近碰到个项目,其中有个需要将pdf文件转换成xps文件的功能,xps文件还算是新东西,所以基本没啥了解,通过一段时间的调查, 本人算是找到了2个方法:   1)通过PDFNet第三发开发组件即可很容易的完成转换功能...,并且还有其他针对pdf文件操作的功能,还是很强大的。...下载地址:http://www.pdftron.com/pdfnet/index.html   2)通过“Microsoft XPS Document Writer”打印机,将pdf打印成本地的xps...开发环境:VS2010,.Net FrameWork4.0,C#,WPF 窗体代码: <Window x:Class="TestPdfToXps1.MainWindow" xmlns="...= @"d:\原文件.pdf"; // 需要转换的PDF文件 string xps_filepath = @"d:\目标文件.xps"; // 目标XPS文件

2.2K10

Print to PDF Pro for mac(PDF文件打印软件)v1.0.4免激活版

Print to PDF Pro for mac是一款非常好用的PDF文件打印软件。能够快速轻松地在PDF格式中创建文件,您可以从任何其他应用程序打印PDF,就像使用打印机一样。...并且Print To PDF Pro操作简单,只需将文件拖放到桌面图标即可转换为PDF。图片Print to PDF Pro for mac(PDF文件打印软件)功能特色转换是在Mac上本地完成的。...你的文件永远不会离开它,它不需要互联网连接。此外,该应用程序让你在不同的文件夹中组织PDF文件,并自动对文件进行分类,分离电子邮件、网页和其他打印输出。...有了这个打印机的应用程序,你可以打印PDF文件电子邮件附件iWork和MS Office文档网页,照片Dropbox,谷歌驱动程序和其他在线存储的文件

1.2K30

极速pdf文件打印时此计算机未连接到网络,PDF文件不能打印的五种解决方案

原标题:PDF文件不能打印的五种解决方案 有时我们会发现有些PDF文档虽然能够正常打开,点击打印缺没有反应,是打印机坏了吗?当然不是,PDF不能打印90%是被加密,想要正常重新打印其实很简单。...方式一:用老版PDF阅读器 不常用也是比较难实现一种解决方法,PDF打印只是设置了个标志位,大多数 PDF 软件都遵循这个标准,但用某些老版本的 PDF 阅读器,就会发现它不支持 “禁止打印” “禁止复制...方式二:复制 这个方式就很通俗易操作了,直接将PDF文档的内容复制后,粘贴到新的Word或PDF文档中后,重新打印即可。弊端就是格式可能会乱而且扫描的PDF不适用。...方式三:截图 针对以上方式二中扫描件不能截图的解决方式,可以用各种快捷键截图,并且很多阅读器都自带截图功能,比如极速PDF阅读器直接点击菜单栏截图即可。...方式五:转换 像这么权限加密的文档,其实并不会影响文档的格式转换,因而也可以根据PDF内容或排版将其转成常用的Word或Excel后,再打印转换后的文档即可。

2.2K20
领券