灌篮少年 发表于 2024-8-14 16:55:51

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

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


[*] 起首,你需要安装 PdfSharp NuGet 包。在项目目录下运行以下命令:
dotnet add package PdfSharp --version 1.50.5147
[*] 然后,利用以下代码合并 PDF 并打印:
using System;
using System.Diagnostics;
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;

class Program
{
    static void Main()
    {
      string[] pdfFiles = { "file1.pdf", "file2.pdf", "file3.pdf" };
      string outputPdf = "merged.pdf";

      MergePdfFiles(pdfFiles, outputPdf);
      PrintPdf(outputPdf);
    }

    static void MergePdfFiles(string[] pdfFiles, string outputPdf)
    {
      using (var outputDocument = new PdfDocument())
      {
            foreach (string pdfFile in pdfFiles)
            {
                using (var inputDocument = PdfReader.Open(pdfFile, PdfDocumentOpenMode.Import))
                {
                  // 将输入PDF文件的所有页面添加到输出文档
                  for (int i = 0; i < inputDocument.PageCount; i++)
                  {
                        outputDocument.AddPage(inputDocument.Pages);
                  }
                }
            }

            outputDocument.Save(outputPdf);
      }
    }

    static void PrintPdf(string pdfFile)
    {
      Process printProcess = new Process();
      printProcess.StartInfo.FileName = pdfFile;
      printProcess.StartInfo.Verb = "print";
      printProcess.StartInfo.CreateNoWindow = true;
      printProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
      printProcess.Start();
    }
}

代码解释


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



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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 用C#实现一连打印pdf文件