美文网首页
.net打印pdf文件

.net打印pdf文件

作者: _小森林_ | 来源:发表于2019-12-22 18:57 被阅读0次

方法一(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, "打印机上显示的任务名");

这个测试时虚拟打印机上正常,使用公司打印机时出现乱码问题以及打印任务不停的问题

相关文章

网友评论

      本文标题:.net打印pdf文件

      本文链接:https://www.haomeiwen.com/subject/epmonctx.html