ToB企服应用市场:ToB评测及商务社交产业平台
标题:
用C#实现一连打印pdf文件
[打印本页]
作者:
灌篮少年
时间:
2024-8-14 16:55
标题:
用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[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企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4