在没有用户交互的情况下将iframe内容保存为.xps / .pdf格式

时间:2015-04-22 08:23:02

标签: javascript html vb.net vbscript printing-web-page

我想知道是否可以在没有用户互动的情况下将iframe内容保存为.xps / .pdf格式。

目前,我的编码能够跳过打印对话框并选择默认打印机。但是,它无法绕过另存为对话框。

有人有建议解决这个问题吗?

浏览器:IE 9(不支持HTML 5)

Javascript:

function PrintDoc() 
{
    var TestPrint = null;
    TestPrint = this.document.frames['iframecontent'];
    if(TestPrint) //verify the content isn't empty or null
      TestPrint.bypassprint();
}

VBScript:

Sub bypassprint()
    call WB.ExecWB(6, 2) //bypass printer dialog box
    call Wb.Dispose()
End Sub

HTML:

<input type="submit" name="Submit" value="Print" onclick="javascript:PrintDoc();" id="btnSubmit" class="Btn" />

假设我有一个id =“iframecontent”的iframe标记,我希望在没有用户互动的情况下将iframe内容打印为.xps / .pdf格式。

上述代码可以绕过打印机对话框,但不能绕过另存为对话框。

任何给出的建议都会受到赞赏:)

1 个答案:

答案 0 :(得分:0)

服务器端解决方案: 首先:获取HTML,然后将其传递给可以从中创建pdf的组件,并且瞧瞧; - )

http://www.codeproject.com/Questions/334862/HTML-to-PDF-in-VB-NET-or-CS-NET

客户端解决方案: 这有点困难,浏览器不允许您在没有用户交互的情况下生成pdf。但是:您可以将html文档发送到API(您创建它),然后发送一个URL,您可以在其中下载生成的pdf。 do window.open(downloadUrl)和用户在没有进一步对话的情况下下载pdf。

要从html创建pdf,请参阅服务器端解决方案; - )