Печать PDF с помощью диспетчера печати - предварительный просмотр не соответствует выводу

Я использую приведенный здесь пример для печати PDF-файлов с помощью Android Printing Framework: Как печатать PDF с помощью Android 4.4 Printing Framework

Однако предварительный просмотр не соответствует выводу на печать. По правде говоря, вывод правильный, но предварительный просмотр - нет. Есть ли способ исправить это?

РЕДАКТИРОВАТЬ: Google PDF Viewer, по-видимому, правильно показывает предварительный просмотр при попытке печати PDF. Есть ли какой-то неизвестный способ заставить предварительный просмотр правильно отображаться в предварительном просмотре? Похоже, нигде нет никаких решений.

1 ответ

Я предлагаю, чтобы данные, которые вы хотите распечатать, загрузить через веб-просмотр и распечатать эти данные с помощью PrintManager с помощью адаптера веб-просмотра

у нас есть Printmanager https://developer.android.com/reference/android/print/PrintManager и распечатываем данные, и этому менеджеру требуется printadapter, который будет получен из веб-просмотра 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());

Спасибо,

Другие вопросы по тегам