-1

[注意这可能类似于 https://stackoverflow.com/questions/48138874/can-make-print-js-print-a-variable,但我不懂 PHP]

我有一个 ASP.Net 核心操作,可以动态创建 PDF。我目前将 PDF 下载到客户端,如下所示:

<a asp-controller="Home" asp-action="Pdf">Download PDF</a>

和控制器动作

public IActionResult Pdf()
{
    using (MemoryStream ms = new MemoryStream())
    {
        ...
        return File(ms.ToArray(), "application/pdf", "file.pdf");
    }
}

相反,我希望它转到浏览器的打印预览对话框,我打算为此使用printjs. 但我必须指定一个基于服务器的文件(例如“docs/file.pdf”)。printjs样本是:

<button type="button" onclick="printJS('docs/file.pdf')">Print PDF</button>

有没有办法使printJS文件下载pdf文件而无需将其保存在某处?

4

1 回答 1

0

多哈。太容易了:

<a onclick="printJS('/home/Pdf')">Print PDF</a>

不是向文件提供 href,而是让 onclick 函数调用 printJS 并使用将执行和下载 PDF 的操作名称。

于 2022-01-12T16:10:47.987 回答