相关疑难解决方法(0)

直接从JavaScript打印PDF

我正在构建HTML格式的PDF列表.在列表中,我想要包含下载链接和打印按钮/链接.有没有办法在没有用户看到PDF或打开PDF查看器的情况下直接打开PDF的"打印"对话框?

将PDF下载到隐藏的iframe并触发使用JavaScript打印的一些变体?

javascript pdf

85
推荐指数
6
解决办法
23万
查看次数

从javascript嵌入标签打印Pdf

我有一个PDF文件,我试图通过Javascript打印它.我试过这个嵌入技巧:无声打印嵌入式PDF 然而,打印功能永远不可用,它总是未定义的.

我用这段代码尝试了Iframe技巧:

function printPDF() {
if(document.getElementById("pdfDocument").contentWindow.document.readyState === "complete") {   
    document.getElementById("pdfDocument").focus();
    document.getElementById("pdfDocument").contentWindow.print();
} else {
    setInterval(printPDF(), 1000);
}
}
Run Code Online (Sandbox Code Playgroud)

(pdfDocument是iframe的ID)这会弹出打印对话框,但打印空白页.我希望embed标签的工作方式.但为什么打印功能永远不可用?

关于这个主题的大多数帖子都很老了.什么是最好的HTML5/jQuery方法呢?(或者只是普通的JS)

编辑:

这是embed标签的JS代码:

function printPDF() {
alert(document.getElementById("pdfDocument").print);
//Wait until PDF is ready to print    
 if (typeof document.getElementById("pdfDocument").print == 'undefined') {
     setTimeout(function(){printPDF();}, 1000);
 } else {
     var x = document.getElementById("pdfDocument");
     x.print();
 }
}
Run Code Online (Sandbox Code Playgroud)

这每秒都会改变"未定义"."打印"选项永远不可用.有任何想法吗?

javascript pdf html5

13
推荐指数
2
解决办法
2万
查看次数

在Chrome浏览器上删除NPAPI后,替代Jzebra/QZ Java Raw Print插件

我们都知道NPAPI将在几个月内完全从Chrome中删除.

什么是Jzebra/QZ Java插件的替代品,可以将原始打印(发送原始ESC/P命令)发送到POS打印机?

是否有Chrome API(HTML5和Javascript)能够取代浏览器与USB或以太网中本地安装的POS打印机之间的通信?

javascript java printing google-chrome

12
推荐指数
1
解决办法
2万
查看次数

使用Javascript,HTML5,AngularJS从浏览器打印嵌入式PDF

我正在从我的服务器将一个Base64编码的pdf作为字符串加载到我的Javascript中.我的客户端应用程序使用的是AngularJS,HTML5.

我的HTML看起来像这样:

<div id="printablePdfContainer">
  <iframe id="printablePdf" width="100%" height="100%"></iframe>
</div>
Run Code Online (Sandbox Code Playgroud)

我的Javascript看起来像这样:

var pdfName = 'data:application/pdf;base64,' + data[0].PrintImage;
var embeddedPdf = document.getElementById('printablePdf');
embeddedPdf.setAttribute('src', pdfName);
$scope.printDocument(embeddedPdf);
Run Code Online (Sandbox Code Playgroud)

我的printDocument功能如下所示:

$scope.printDocument = function() {
      var test = document.getElementById('printablePdf');
      if (typeof document.getElementById('printablePdf').print === 'undefined') {

        setTimeout(function(){$scope.printDocument();}, 1000);

      } else {

        var x = document.getElementById('printablePdf');
        x.print();
      }
    };
Run Code Online (Sandbox Code Playgroud)

printDocument函数取自堆栈溢出中的预先存在的问题(静默打印嵌入式PDF),这是打印嵌入式pdf的答案.但是,这似乎不再起作用了.我总是得到'未定义'

typeof document.getElementById('printablePdf').print === 'undefined'
Run Code Online (Sandbox Code Playgroud)

校验.似乎.print不存在或什么的.

所以,我的问题是:如何使用Javascript在HTML5中打印嵌入式PDF,而无需打开弹出窗口?

问候,菲尔

html javascript pdf html5 angularjs

7
推荐指数
1
解决办法
3万
查看次数

使用pdf.js打印PDF

我使用pdf.js在页面中嵌入单页PDF,我希望能够只打印PDF,而不是整个HTML页面.

这可能吗?

javascript printing pdf pdf.js

6
推荐指数
2
解决办法
3万
查看次数

pdf生成后如何打开打印对话框?

我写了一些生成动态PDF文件的动作.类似于:reports/reportGenerator.action

当我调用reports/reportGenerator?param=dialy它时会在弹出窗口中打开生成的pdf,然后我可以按打印按钮打开打印机对话框并打印它.

我现在要做的是直接打开打印机对话框.所以当我打电话reports/reportGenerator?param=dialy完全生成pdf文件后,打开打印机对话框.那可能吗?(我知道不能跳过打印机对话框)

更多信息:动作是这样的:

sout = response.getOutputStream();
response.setContentType("application/pdf");
response.setHeader("Content-disposition","inline; filename=\"myReport.pdf\"");
sout.write(pdfBytes);
sout.flush();
sout.close();
Run Code Online (Sandbox Code Playgroud)

javascript pdf jasper-reports

3
推荐指数
1
解决办法
1万
查看次数

通过javascript打印pdf

我有一个HTML页面,其中包含指向PDF的链接.此PDF将在新窗口中打开.父HTML页面具有File-> Print菜单项.当用户单击"打印"时,我希望能够自动打开PDF并进行打印.印刷部件是我卡住的地方.

任何帮助将非常感激.

谢谢.

javascript pdf

1
推荐指数
1
解决办法
1827
查看次数