react print

爷,独闯天下 提交于 2020-01-28 15:15:42

印刷しないエリアId:NonePrintDiv
印刷するエリアId:printDiv
//npm install --save html2canvas
import html2canvas from 'html2canvas';

//印刷ボタン処理
document.getElementById('NonePrintDiv').style.display = "none";
html2canvas(document.getElementById('printDiv')).then(
    (canvas) => {
        this.setState({
            printStyle: { visibility: 'hidden' }
        }, () => {
            window.print(canvas);
            this.setState({
                printStyle: {}
            });
            document.getElementById('NonePrintDiv').style.display = "";
        });
    }
);

//必要なCSSスタイル
//const printTestCss = 'style/printTest.css';
//<link rel="stylesheet" type="text/css" href={printTestCss} />
<link rel="stylesheet" type="text/css" href="style/printTest.css" />

//printTest.css
@media print{
  @page { 
    size: landscape;//横に設定する
    margin: 0mm;
  }
  .printArea {
    width: 60%;
    height: 600%;
    margin: 0mm;
    filter: progid:DXImageTransform.Microsoft.BasicImage(Rotation=1); 
    zoom: 90%;//
  }
}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!