马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
要实现一连打印多个 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[i]);
- }
- }
- }
- 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企服之家,中国第一个企服评测及商务社交产业平台。 |