Чтобы избавиться от черного фона при печати страницы через WebView, можно использовать CSS для определения стилей печати. Для этого можно воспользоваться медиа-запросом `@media print`, который позволяет задать специфичные стили и правила для вывода на печать.
Пример кода CSS для избавления от черного фона при печати:
```css
@media print {
body {
background: white;
}
}
```
Чтобы изменить отображение изображения при печати в WebView, можно также использовать CSS. Для того чтобы изображение располагалось в левом углу страницы A4, можно задать стили для изображения и контейнера, в котором оно находится.
Пример кода CSS для печати изображения в левом углу страницы A4:
```css
@media print {
img {
width: 100%;
height: auto;
position: absolute;
top: 0;
left: 0;
}
}
```
Если встроенные стили не дают нужного результата, можно попробовать интегрировать собственные CSS для достижения нужного визуального эффекта. Для этого можно загрузить веб-страницу с использованием собственных файлов стилей CSS или подключить их динамически через WebView.
Например, чтобы добавить собственные стили для печати изображения в левом углу страницы A4, можно создать файл стилей `print.css` со следующим содержимым:
```css
@media print {
img {
width: 100%;
height: auto;
position: absolute;
top: 0;
left: 0;
}
}
```
Затем подключить этот файл стилей к WebView, используя JavaScript:
```javascript
WebView webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("file:///android_asset/page.html");
webView.loadUrl("javascript:(function() { var css = document.createElement('link'); css.setAttribute('rel', 'stylesheet'); css.setAttribute('type', 'text/css'); css.setAttribute('href', 'file:///android_asset/print.css'); document.head.appendChild(css); })()");
```
Таким образом, можно изменить отображение изображения при печати в WebView с помощью собственных CSS и JavaScript.