通过打印管理器打印PDF - 打印预览不匹配输出

时间:2018-05-14 17:15:24

标签: android pdf android-print-framework

我使用此处的示例通过Android Printing Framework打印PDF: How to Print PDF using Android 4.4 Printing framework

但是,打印预览与打印输出不匹配。事实上,输出是正确的,但预览不是。有没有办法纠正这个?

编辑:Google PDF Viewer在尝试打印PDF时显然正确显示了预览。是否有一些未知的方法可以使预览在打印预览中正确显示?在任何地方似乎都没有任何解决方案。

1 个答案:

答案 0 :(得分:0)

我的建议是数据要打印,加载webview并使用Printview使用webview适配器打印数据

我们有Printmanager https://developer.android.com/reference/android/print/PrintManager并打印数据,这个经理需要printadapter来自webview createPrintDocumentAdapter

PrintManager printManager = (PrintManager)getSystemService(Context.PRINT_SERVICE);
PrintDocumentAdapter printAdapter;
if(android.os.Build.VERSION.SDK_INT >= 21){
    printAdapter = webView.createPrintDocumentAdapter(jobName);
}else{
    printAdapter = webView.createPrintDocumentAdapter();
}
PrintAttributes.Builder builder = new PrintAttributes.Builder();
builder.setMinMargins(PrintAttributes.Margins.NO_MARGINS);
builder.setMediaSize(PrintAttributes.MediaSize.ISO_A4);
File filePdf = new File(pathAndJobName);
printManager.print(filePdf.getName(), printAdapter, builder.build());

感谢,