1

次のように PrintManager を使用しています(webviewがロードされている場合):

PrintManager printManager = (PrintManager) getSystemService(Context.PRINT_SERVICE);
PrintDocumentAdapter printAdapter = webView.createPrintDocumentAdapter(jobName));
printManager.print(jobName, printAdapter, new PrintAttributes.Builder().build());

保存ボタンをクリックすると、HTMLがpdfとして保存されます。このプロセスが非常に高速に実行されると、つまりプレビューの読み込み中に、「残念ながら印刷スプーラーが停止しました」という例外が発生します。

process: com.android.printspooler, PID: 5705
                                                 java.lang.IllegalArgumentException: end cannot be less than zero.
                                                     at android.print.PageRange.<init>(PageRange.java:50)
                                                     at com.android.printspooler.util.PageRangeUtils.asAbsoluteRange(PageRangeUtils.java:199)
                                                     at com.android.printspooler.ui.PrintActivity$DocumentTransformer.computePagesToShred(PrintActivity.java:2620)
                                                     at com.android.printspooler.ui.PrintActivity$DocumentTransformer.<init>(PrintActivity.java:2496)
                                                     at com.android.printspooler.ui.PrintActivity.transformDocumentAndFinish(PrintActivity.java:1733)
                                                     at com.android.printspooler.ui.PrintActivity.-wrap15(PrintActivity.java)
                                                     at com.android.printspooler.ui.PrintActivity$4.run(PrintActivity.java:620)
                                                     at android.os.Handler.handleCallback(Handler.java:739)
                                                     at android.os.Handler.dispatchMessage(Handler.java:95)
                                                     at android.os.Looper.loop(Looper.java:148)
                                                     at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                     at java.lang.reflect.Method.invoke(Native Method)
                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

この例外を解決またはキャッチするための提案

4

0 に答える 0