① .net列印pdf文件
方法一(web):window.print()
print()方法是瀏覽器列印功能的一種程序調用。print方法用於列印當前窗口的內容。
列印當前頁:
function printPage(){
window.print();
}
列印局部頁面:
前端頁面:<iframe style="width:100%;height:100%;" id="fileId" src="文件路徑">
</iframe>
<input type="button" name="print" id="print" value="列印" />
js:$("#print").click(function () {
var iframe = document.getElementById("fileId");
iframe.contentWindow.print();
});
方法二:調用系統API(得保證本地裝有相關的軟體)
PrintDocument pd = new PrintDocument();
pd.PrinterSettings.PrinterName = "Microsoft Print to PDF";
Process p = new Process
{
StartInfo = new ProcessStartInfo
{
CreateNoWindow = false,
WindowStyle = ProcessWindowStyle.Hidden,
UseShellExecute = true,
FileName = filePath,//文件路徑
Verb = "print",
Arguments = @"/p /h \" + filePath + "\"\"" + pd.PrinterSettings.PrinterName + "\""
}
};
p.Start();
p.WaitForExit();
方法三:spire列印方式(收費)下面是簡單的使用例子
var pdf = new PdfDocument(filePath);
//設置列印機
pdf.PrintSettings.PrinterName = "Microsoft Print to PDF";
pdf.print();
方法四:安裝RawPrint
var printer = new Printer();
var file = File.Open(filePath, FileMode.Open);
byte[] array = new byte[file.Length];
file.Read(array, 0, array.Length);
printer.PrintRawStream(printerName, file, "列印機上顯示的任務名");
file.Close();
printer.PrintRawFile(printerName, fileFullPath, "列印機上顯示的任務名");
這個測試時虛擬列印機上正常,使用公司列印機時出現亂碼問題以及列印任務不停的問題