如何去除Android WebView打印添加的边距?

问题描述 投票:0回答:5
android html webview android-webview google-cloud-print
5个回答
9
投票

使用以下代码在打印 WebView 时删除边距。

@page{
margin-left: 0px;
margin-right: 0px;
margin-top: 0px;
margin-bottom: 0px;
}

6
投票

就用它 *{margin:0px; padding:0px} 添加样式表并检查一次

  *{margin:0px; padding:0px}
    body,html{padding:0px;margin:0px;}
 <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">

1
投票

默认情况下,HTML 网页的内边距和边距为 10px;您必须在 head 部分或 css 文件中设置:

<style type="text/css">
  html, body {
  width:100%;
  height: 100%;
  margin: 0px;
  padding: 0px;
  }

这对我来说是工作。希望对你有帮助:)

或者您可以尝试另一种:

将您的标签替换为以下标签:

<body style='margin:0;padding:0;'>

这是有关网络视图中图像的另一个技巧:添加适合屏幕宽度的图像样式。适用于所有屏幕尺寸:

<style type='text/css'>
      img {max-width: 100%;height:initial;} div,p,span,a {max-width: 100%;}
   </style>

1
投票

如果使用 css 不能解决您的问题,您可以尝试使用带有 fromHtml 的 TextView 而不是使用 webview:

TextView myTextView = (TextView) view.findViewById(R.id.my_textview);
Spanned textviewHtml;

//Note : fromHtml needs a display flag as second argument from API 24
if (Build.VERSION.SDK_INT >= 24) {
    textviewHtml= Html.fromHtml(yourHtmlHere, Html.FROM_HTML_MODE_COMPACT);
}
else {
    textviewHtml= Html.fromHtml(yourHtmlHere);
}

myTextView.setText(textviewHtml);

有关 fromHtml 的更多选项,您可以参考 https://developer.android.com/reference/android/text/Html.html

希望这有帮助! ;-)


0
投票

我也面临同样的问题,请问你能解决吗?

© www.soinside.com 2019 - 2024. All rights reserved.