依赖安装
.net framework 3.5
通过NuGet安装
- PdfiumViewer
- PdfiumViewer.Native.x86_64.v8-xfa
打印程序
using PdfiumViewer;
using System;
using System.Drawing.Printing;
namespace Printer
{
class Program
{
static void Main(string[] args)
{
string printerName = @"DocuCentre S2520";
string filename = @"C:\Users\Cliven\Documents\cache2931767143697178551.pdf";
string pageSize = "a4";
PrintPDF(printerName, pageSize, filename, 1);
// PrintPdf(filename);
Console.ReadLine();
}
/// <summary>
/// 打印PDF
/// </summary>
/// <param name="printer">打印机名称</param>
/// <param name="paperName">打印纸张大小,如: A4、A5</param>
/// <param name="filename">需要打印的PDF名称</param>
/// <param name="copies">打印份数</param>
/// <returns>true 成功; false 失败</returns>
public static bool PrintPDF(string printer, string paperName, string filename, int copies)
{
try
{
// Create the printer settings for our printer
var printerSettings = new PrinterSettings
{
PrinterName = printer,
Copies = (short)copies,
// Duplex = Duplex.Vertical 双面打印开关
};
// Create our page settings for the paper size selected
var pageSettings = new PageSettings(printerSettings)
{
Margins = new Margins(0, 0, 0, 0),
};
foreach (PaperSize paperSize in printerSettings.PaperSizes)
{
if (paperSize.PaperName == paperName)
{
pageSettings.PaperSize = paperSize;
break;
}
}
// Now print the PDF document
using (var document = PdfDocument.Load(filename))
{
using (var printDocument = document.CreatePrintDocument())
{
printDocument.PrinterSettings = printerSettings;
printDocument.DefaultPageSettings = pageSettings;
printDocument.PrintController = new StandardPrintController();
printDocument.Print();
}
}
return true;
}
catch
{
return false;
}
}
}
}