react print

印刷しないエリア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%;//
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值