我需要同时在iOs和Android中打印Webview。
在Android中,一切正常,而在iOs中,可以运行打印对话框,但不显示任何内容。

在调试插件本机代码时,我在APPPrinter.m中找到了对这些行的多次调用

dispatch_sync(dispatch_get_main_queue(), ^{
            item = [[UIMarkupTextPrintFormatter alloc]
                    initWithMarkupText:content];
        });


content第一次包含webview html时,后者被设置为nil,这是否正常?
这是用于调用插件的代码段。

this.http.get('../../assets/css/print.css', { responseType: 'text' }).subscribe(
      cssFile => {

        let PDF_HTML = `<style>${cssFile}</style> ${content}`;
        let html = '<html>';
        html += '<head>';
        html += '<style>';
        html += cssFile;
        html += '</style>';
        html += '</head>';
        html += '<body>';
        html += content;
        html += '</body>';
        html += '</html>';
        this.printer.print(html, options)
          .then(res => {
            console.log(res);
          },
            err => {
              console.error(err);
            });
      },
      err => {
        console.error(err);
      });


这是我的ionic info输出:

cli packages: (C:\Users\xxxxxxxxx\AppData\Roaming\nvm\v10.16.0\node_modules)

    @ionic/cli-utils  : 1.19.2
    ionic (Ionic CLI) : 3.20.0

global packages:

    cordova (Cordova CLI) : not installed
    Gulp CLI              : [10:40:17] CLI version 3.9.1 [10:40:17] Local version 3.9.1

local packages:

    @ionic/app-scripts : 3.2.4
    Cordova Platforms  : android 7.1.4
    Ionic Framework    : ionic-angular 3.9.8

System:

    Android SDK Tools : 26.1.1
    Node              : v10.16.0
    npm               : 6.9.0
    OS                : Windows 10

Environment Variables:

    ANDROID_HOME : C:\Users\xxxxxxxxx\AppData\Local\Android\Sdk

Misc:

    backend : pro


包json:

"@ionic-native/printer": "4.20.0"
"cordova-plugin-printer": "0.8.0",


谢谢你的支持!

ps。
我已经打开了相应的问题here

最佳答案

对于那些可能遇到模拟问题的人:
似乎问题以以下形式存在于CSS规则中:

page-break-<xxx>


break-<xxx>代替分页符可解决此问题。

MDN WebDocs中一样,page-break现在已被弃用。

奇怪的是,Android无法识别break-语法,但这超出了此问题的范围。

关于ios - Cordova ionic 打印插件在iO中发送零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59108752/

10-10 08:27