使用javascript打印文档

时间:2015-02-18 09:47:09

标签: javascript html

嗨我需要打印没有按钮的文件。任何人都可以指导我完成这项任务。

我有一个按钮可以按下按钮点击onclick()事件我使用window.print()来打印这些数据。但是在打印预览中显示包含那4个按钮的页面。我不想要那些按钮我只需要那些数据。

有关详细信息,我已添加下面的图片 my print preview os ubuntu

5 个答案:

答案 0 :(得分:2)

使用CSS @media printprint样式表在打印时隐藏按钮。这样,无论按钮是否用于打印,它都将隐藏在打印输出上。

<style type="text/css">
@media print {
    #printbtn {
        display :  none;
    }
}
</style>
<input id ="printbtn" type="button" value="Print this page" onclick="window.print();" >

参考@media print

Additional reference

答案 1 :(得分:2)

您可以为打印指定不同的css规则。您可以使用@media print {}范围,如下所示:

@media print {
    /* Add your custom css rules here */
   input {
       display: none;
   }
}

或者您可以指定一个完全不同的css文件来使用(如果您想将黑色背景和白色文本更改为更适合打印的内容):

<link rel="stylesheet" href="print.css" type="text/css" media="print" />

答案 2 :(得分:1)

1为您的打印按钮提供ID:

<input id="printpagebutton" type="button" value="Print this page" onclick="printpage()"/>`
  1. 调整脚本,使其在调用前隐藏按钮的方式 window.print():

    <script type="text/javascript">
        function printpage() {
            //Get the print button and put it into a variable
            var printButton = document.getElementById("printpagebutton");
            //Set the print button visibility to 'hidden' 
            printButton.style.visibility = 'hidden';
            //Print the page content
            window.print()
            //Set the print button to 'visible' again 
            //[Delete this line if you want it to stay hidden after printing]
            printButton.style.visibility = 'visible';
        }
    </script>
    

答案 3 :(得分:1)

为不可打印的东西添加包装,即你的情况下的按钮。检查以下代码:

<head>
  <style type="text/css">
    #printable {
      display: none;
    }
    @media print {
      #non-printable {
        display: none;
      }
      #printable {
        display: block;
      }
    }
  </style>
</head>

<body>
  <div id="non-printable">
    Your normal page contents
  </div>

  <div id="printable">
    Printer version
  </div>
</body>

希望它有所帮助。

答案 4 :(得分:1)

要仅使用javascript打印文档,请使用以下代码,

    public class SaveTattooActivity extends AppCompatActivity {

    public void getPhoto()
    {
        Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
        startActivityForResult(intent,1);
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);

        if(requestCode == 1)
        {
            if(grantResults.length >0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
            {
                getPhoto();
            }
        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_save_tattoo);

        if(checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)
        {
            requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
        }else
        {
            getPhoto();
        }



    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if(requestCode == 1 && requestCode == RESULT_OK && data != null)
        {
            Uri selectedImage = data.getData();

            try {
                Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImage);

                ImageView imageView = (ImageView) findViewById(R.id.imageView);
                imageView.setImageBitmap(bitmap);


            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}