从字节数组打开PDF而不保存在C# WPF MVVM中[重复]

pinkon5k  于 2023-08-07  发布在  C#
关注(0)|答案(1)|浏览(113)

此问题在此处已有答案

How to print a PDF with C#(12个回答)
How to print a pdf in C# by using(3个答案)
5天前关闭。
我是C#和WPF的新手。我目前正在开发一个将HTML转换为PDF的应用程序,然后使用byte[]从应用程序中打开PDF并打印它。我尝试了以下方法,它保存文件并使用该过程。启动以打开默认应用程序。我试图弄清楚如何在c#/WPF中打开PDF而不将Byte[]保存到物理文件并将其发送到打印机。

// Create a PDF from an existing HTML using C#
    ChromePdfRenderer renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderHtmlFileAsPdf("Assets/MyHTML.html");
    //pdf.SaveAs("MyPdf.pdf");

    byte[] filedata = pdf.BinaryData;
    string extension = "pdf";
    string filename = System.IO.Path.GetTempFileName() + "." + extension; 

    File.WriteAllBytes(filename, filedata);

    var process = Process.Start(filename);
    // Clean up our temporary file...
    System.IO.File.Delete(filename);

字符串

fdbelqdn

fdbelqdn1#

最好的办法是使用内存Map文件。它基本上将内存块视为文件。
您可以使用this example来学习该技术。但是,是否可以通过Process.Start打开它可能存在障碍。

相关问题