如何删除Android WebView打印添加的保证金?

时间:2016-09-15 18:20:12

标签: android html webview android-webview google-cloud-print

我们尝试通过谷歌云打印打印webview内容,但无论我们做什么,结果打印输出都会增加一些余量。

有没有办法取消这个保证金? 我们试过了:

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

然后

<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">

然后

mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

没人工作......

4 个答案:

答案 0 :(得分:5)

Just Use It * {margin:0px;填充: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 :(得分:5)

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

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

答案 2 :(得分:1)

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

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

  这对我有用。希望它能帮助你:))

或者你可以尝试另一个:

用以下标签替换您的标签:

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

这是webview中图像的另一个提示:添加适合屏幕宽度图像的样式。适用于所有屏幕尺寸:

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

答案 3 :(得分: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

希望这有帮助! ; - )