用C#实现一连打印pdf文件

打印 上一主题 下一主题

主题 503|帖子 503|积分 1509

要实现一连打印多个 PDF 文件而不在两个文件中间留下空缺的效果,你可以利用 PdfSharp 或 iTextSharp 等库来合并这些 PDF 文件。然后,将合并后的 PDF 文件发送到打印机。下面是利用 PdfSharp 的示例代码。
利用 PdfSharp 实现 PDF 合并并打印


  • 起首,你需要安装 PdfSharp NuGet 包。在项目目录下运行以下命令:
    1. dotnet add package PdfSharp --version 1.50.5147
    复制代码
  • 然后,利用以下代码合并 PDF 并打印:
    1. using System;
    2. using System.Diagnostics;
    3. using PdfSharp.Pdf;
    4. using PdfSharp.Pdf.IO;
    5. class Program
    6. {
    7.     static void Main()
    8.     {
    9.         string[] pdfFiles = { "file1.pdf", "file2.pdf", "file3.pdf" };
    10.         string outputPdf = "merged.pdf";
    11.         MergePdfFiles(pdfFiles, outputPdf);
    12.         PrintPdf(outputPdf);
    13.     }
    14.     static void MergePdfFiles(string[] pdfFiles, string outputPdf)
    15.     {
    16.         using (var outputDocument = new PdfDocument())
    17.         {
    18.             foreach (string pdfFile in pdfFiles)
    19.             {
    20.                 using (var inputDocument = PdfReader.Open(pdfFile, PdfDocumentOpenMode.Import))
    21.                 {
    22.                     // 将输入PDF文件的所有页面添加到输出文档
    23.                     for (int i = 0; i < inputDocument.PageCount; i++)
    24.                     {
    25.                         outputDocument.AddPage(inputDocument.Pages[i]);
    26.                     }
    27.                 }
    28.             }
    29.             outputDocument.Save(outputPdf);
    30.         }
    31.     }
    32.     static void PrintPdf(string pdfFile)
    33.     {
    34.         Process printProcess = new Process();
    35.         printProcess.StartInfo.FileName = pdfFile;
    36.         printProcess.StartInfo.Verb = "print";
    37.         printProcess.StartInfo.CreateNoWindow = true;
    38.         printProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
    39.         printProcess.Start();
    40.     }
    41. }
    复制代码

代码解释


  • MergePdfFiles 方法: 这个方法将多个 PDF 文件合并为一个。通过逐个打开每个 PDF 文件,并将每个 PDF 的全部页面添加到一个新的输出文档中。
  • PrintPdf 方法: 这个方法利用 Process 类来启动打印使命。它将合并后的 PDF 文件发送到默认打印机。
  • Main 方法: 在主函数中,你可以指定要合并的 PDF 文件,并调用合并和打印的函数。
注意事项



  • 这段代码假设你要打印的 PDF 文件都在项目的根目录下。如果文件路径不同,请确保指定准确的路径。
  • Process.StartInfo.Verb = "print" 将调用默认打印机,如果你想指定特定的打印机,可以进一步设置 ProcessStartInfo。
通过这种方式,你可以制止在多个 PDF 文件之间产生空缺页,实现一连打印效果。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

灌篮少年

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表