Webview в PDF игнорирует название работы

Я пытаюсь напечатать HTML-страницу из webview в KitKat (4.4.4), в основном используя пример кода, представленный в документации API Google . Соответственно, я задал имя задания печати следующим образом:

String jobName = getString(R.string.app_name) + " Document"; PrintJob printJob = printManager.print(jobName, printAdapter, new PrintAttributes.Builder().build()); 

Мой код работает нормально, и страница печатается по назначению. Даже если пользователь выбирает вариант «сохранить как PDF» в диалоговом окне стандартной печати Android, коды отображают хороший PDF-файл, и пользователь может выбрать имя файла. На этом этапе я ожидал, что Android будет использовать строку, хранящуюся в поле jobName качестве имени файла. Вместо этого он всегда использует webview как имя файла, хотя мой код не содержит webview как строку.

Есть ли способ установить другое имя по умолчанию для хранения PDF-файла, созданного в моем приложении?

Спасибо за ваши подсказки …

Обновить:

Я потратил некоторое дополнительное время на изучение этой проблемы, и я обнаружил, что WebView использует AwPrintDocumentAdapter качестве адаптера печати, если адаптер создан путем вызова createPrintDocumentAdapter() как это предлагается в документации API. Затем этот класс вызывает PrintDocumentInfo.Builder("webview") который, по-видимому, является причиной того, что PDF всегда называется «webview». Некоторые исследования показывают следующий фрагмент кода в AwPrintDocumentAdapter :

 @Override public void onLayout(PrintAttributes oldAttributes, PrintAttributes newAttributes, CancellationSignal cancellationSignal, LayoutResultCallback callback, Bundle metadata) { mAttributes = newAttributes; // TODO(sgurun) pass a meaningful string once b/10705082 is resolved PrintDocumentInfo documentInfo = new PrintDocumentInfo .Builder("webview") .build(); // TODO(sgurun) once componentization is done, do layout changes and // generate PDF here, set the page range information to documentinfo // and call onLayoutFinished with true/false depending on whether // layout actually changed. callback.onLayoutFinished(documentInfo, true); } 

Следовательно, это, по-видимому, является основной причиной моей проблемы – по крайней мере, если этот код пробился к моему тестовому устройству Nexus 4 … Наконец, лучший способ справиться с этой проблемой именования – это реализация пользовательского адаптера печати.

Существуют ли какие-либо другие решения, не требующие специального адаптера печати (который должен содержать код для расчета количества страниц и т. Д.)?

Solutions Collecting From Web of "Webview в PDF игнорирует название работы"