【问题标题】:how to set A5 page size in react-to-print如何在 react-to-print 中设置 A5 页面大小
【发布时间】:2021-01-08 15:09:45
【问题描述】:

我通常使用 react-to-print 来打印反应组件,而且工作量小,灵活性高。我想在我的 react-project 中设置页面大小。

这是我的代码:

const Invoice = (props) => {

var clientInfo = JSON.parse(localStorage.getItem('clientInfo'));
var date = new Date().getDate(); //Current Date
var month = new Date().getMonth(); //Current Month
var year = new Date().getFullYear(); //Current Year
var months = ['Jan','Feb','March','April','May','June','July','Aug','Sep','Oct','Nov','Dec']

var fullDAte = months[month]+'-'+date+'-'+year
// console.log("printing forr ----------->================", fullDAte );
var docTitle = clientInfo.clientName +'_Date_' +fullDAte

const componentRef = useRef();    
const handlePrint = useReactToPrint({
  content: () => componentRef.current,
  documentTitle: docTitle,

});

return (
  <div class="printBtn-container">
    <PrintPage ref={componentRef} />
    <div className="printBtnStyling">
    <button className="printBtn" onClick={handlePrint}>Print this out!</button>
    <button className="printBtn" onClick={()=>{props.history.goBack()}}>Make New Invoice</button>
    </div>
  </div>
);

};

这是我要打印或保存为 pdf 的主要组件:

const PrintPage =  React.forwardRef((props, ref) => {
           

          ----My Compoenent code here----

 })

我为整个项目导入这个

import { useReactToPrint } from 'react-to-print';

请指导我如何进行页面大小设置

【问题讨论】:

标签: reactjs react-pdf react-to-print


【解决方案1】:

试试这个:

const pageStyle = `@page {
    size: 210mm 148mm;
    }
    @media print {
    @page {  size: a5 landscape;
        margin: 0mm !important;
    }
    @media all {
                    .pagebreak {
                      overflow: visible; 
                    }
                }
            }
        }`;

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 2011-03-09
  • 2021-07-31
  • 1970-01-01
  • 2020-03-30
  • 1970-01-01
  • 2011-09-03
  • 1970-01-01
  • 2012-10-02
  • 2011-09-10
相关资源
最近更新 更多