将 link 另存为 PDF C#
Save a link as PDF C#
我需要自动下载 pdf 文件。
下面的示例 link
<a href="https:\..?serachid=1"
onclick="window.open(this.href,'popupwindow','scrollbars=no,resizable=no')return false" >click to
download</a>
Link 的 href 末尾没有 .pdf。
单击 link,我将获得嵌入了 pdf 的 IE 弹出窗口。从弹出窗口单击打印会进行处理 window,这会花费大量时间,我们无法跟踪进度。
如果我手动单击它,而是单击保存复制按钮(来自下面显示的传单可以正常工作),但我找不到从代码中单击相同按钮的方法。)
我正在寻找右键单击并单击“目标另存为”的选项,或者
单击“保存副本”按钮的选项enter image description here
我尝试了很多建议,但我仍然无法找到适合我的解决方案,请帮忙。
注意:我无法修改html。而且我不能使用硒。
[编辑] 我尝试如下添加下载属性,但仍然出现 IE 弹出窗口,而不是预期的直接下载选项。
<a href="https:\..?serachid=1"
onclick="window.open(this.href,'popupwindow','scrollbars=no,resizable=no')return false" download="">click to
download</a>
IE 不支持 <a>
中的 download
属性,因此它在 IE 中不起作用。您可以查看 browser compatibility table.
对于IE,如果要点击link下载,只能将pdf文件转为blob数据,然后使用msSaveBlob
下载。 msSaveBlob是IE自带的API,用于创建和下载文件。您可以参考以下代码:
<a href="your_file_link" onclick="downloadpdf();return false">click to download</a>
<script>
function downloadpdf() {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
//console.log(this.response, typeof this.response);
window.navigator.msSaveBlob(this.response, 'testpdf.pdf');
}
}
xhr.open('GET', 'your_file_link');
xhr.responseType = 'blob';
xhr.send();
}
</script>
IE 11 中的结果:
我需要自动下载 pdf 文件。 下面的示例 link
<a href="https:\..?serachid=1"
onclick="window.open(this.href,'popupwindow','scrollbars=no,resizable=no')return false" >click to
download</a>
Link 的 href 末尾没有 .pdf。 单击 link,我将获得嵌入了 pdf 的 IE 弹出窗口。从弹出窗口单击打印会进行处理 window,这会花费大量时间,我们无法跟踪进度。 如果我手动单击它,而是单击保存复制按钮(来自下面显示的传单可以正常工作),但我找不到从代码中单击相同按钮的方法。)
我正在寻找右键单击并单击“目标另存为”的选项,或者 单击“保存副本”按钮的选项enter image description here 我尝试了很多建议,但我仍然无法找到适合我的解决方案,请帮忙。
注意:我无法修改html。而且我不能使用硒。
[编辑] 我尝试如下添加下载属性,但仍然出现 IE 弹出窗口,而不是预期的直接下载选项。
<a href="https:\..?serachid=1"
onclick="window.open(this.href,'popupwindow','scrollbars=no,resizable=no')return false" download="">click to
download</a>
IE 不支持 <a>
中的 download
属性,因此它在 IE 中不起作用。您可以查看 browser compatibility table.
对于IE,如果要点击link下载,只能将pdf文件转为blob数据,然后使用msSaveBlob
下载。 msSaveBlob是IE自带的API,用于创建和下载文件。您可以参考以下代码:
<a href="your_file_link" onclick="downloadpdf();return false">click to download</a>
<script>
function downloadpdf() {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
//console.log(this.response, typeof this.response);
window.navigator.msSaveBlob(this.response, 'testpdf.pdf');
}
}
xhr.open('GET', 'your_file_link');
xhr.responseType = 'blob';
xhr.send();
}
</script>
IE 11 中的结果: