标签: printjs

在移动Safari中强制打印多页PDF对话框

如何在移动Safari中强制多页的工作打印对话框(打印第一页工作)PDF?

侧面信息:如果我"长按"移动Safari中的Pdf,我会得到一个"将图像另存为"对话框,也许移动Safari实现会将Pdf呈现为图像,我应该搜索此引擎呈现多个页面的解决方案?!

javascript pdf mobile ios printjs

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

如何使用 cypress 存根 contentwindow.print/使用 cypress 测试 printJS

我的程序使用printJS,这是一个帮助格式化页面内容以进行打印的库。我想用cypress编写测试来测试是否调用了打印预览。目前我有一个按钮,当点击它时调用 printJS,并且由于 cypress 无法与打印预览窗口交互,我认为将调用存根到 printJS 然后编写一个断言它被调用一次是个好主意。我知道这适用于 window.print() 因为您可以使用此代码存根。

cy.visit('http://127.0.0.1/',{
    onBeforeLoad: (win) => {
        cy.stub(win, 'print')
    }
})
Run Code Online (Sandbox Code Playgroud)

然后用这个断言

cy.contains('print').click()
cy.window().then((win) => {
    expect(win.print).to.be.calledOnce
})
Run Code Online (Sandbox Code Playgroud)

我的旧按钮

<button type="button" class="btn btn-secnodary" onclick="window.print()">
    Print
</button>
Run Code Online (Sandbox Code Playgroud)

但是我使用了printJS,这意味着我的按钮现在看起来像这样

<button type="button" onclick="printJS({printable: 'id_preview_modal_body', type: 'html'})" data-dismiss="modal">
    Print
</button>
Run Code Online (Sandbox Code Playgroud)

javascript 被加载为 print.min.js,可以在这里找到。我试图存根 contentwindow ,但到目前为止似乎还行不通。在printJS的代码中,打印发生在这里

frameElement.contentWindow.print()
Run Code Online (Sandbox Code Playgroud)

从他们的 github 页面,第 63 行

我存根的方式给出了这个问题

cy.visit('http://127.0.0.1:8000/notices/new/',{
    onBeforeLoad: (win) => {
        cy.stub(win, 'printJS')
    }
})

Uncaught TypeError: Cannot stub non-existent own property printJS
Run Code Online (Sandbox Code Playgroud)

断言也给出了这个错误

cy.window().then((win) => …
Run Code Online (Sandbox Code Playgroud)

javascript end-to-end sinon printjs cypress

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

如何使用 angular 9 中的 print.js 打印多个 PDF

我曾尝试使用print.js库打印 PDF ,它对于单个 PDF 打印工作正常。现在,当我尝试打印多个 PDF 时,它会抛出一个错误:错误多项选择。. 另外,我尝试过使用纯 JS,但它多次提示输入多个文档。

下面是我们正在使用的代码。

printJS({ 
         printable: ['dummy.pdf', 'dummy1.pdf'], 
         type:'pdf'
        });
Run Code Online (Sandbox Code Playgroud)

请找到附件。

在此处输入图片说明 任何帮助非常感谢!

javascript typescript printjs angular angular9

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

Angular printjs:ERROR TypeError:Object(...)不是函数

我正在尝试printJS在Angular中使用并打印图像(PNG).我做了导入:

    import { printJS } from "print-js/dist/print.min.js";
Run Code Online (Sandbox Code Playgroud)

然后我根据文档在函数中执行此打印代码:

    printJS('no-image.png', 'image');
Run Code Online (Sandbox Code Playgroud)

我收到以下错误: 在此输入图像描述

我找不到解决方案来解决这个问题.

javascript typescript printjs angular

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

标签 统计

javascript ×4

printjs ×4

angular ×2

typescript ×2

angular9 ×1

cypress ×1

end-to-end ×1

ios ×1

mobile ×1

pdf ×1

sinon ×1