рд╡рд┐рд╡рд░рдг
рдЪрд┐рд╣реНрди рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдПрдиреЛрдЯреЗрд╢рди рдкрд░рдд рдореЗрдВ рдкрд╛рда рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдЕрдЬреАрдм рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдВред
рдореИрдВ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдореЛрдбрд▓ рд╕рдВрд╡рд╛рдж рдореЗрдВ рдПрдХ рдкреАрдбреАрдПрдл рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдкреГрд╖реНрда рдШрдЯрдХ рдХреЗ customTextRenderer рдкреНрд░реЛрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреГрд╖реНрда рдкрд░ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдЦреЛрдЬ рд╢рдмреНрдж рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдП рдЧрдП рдкрд╛рда рдХреЛ рдПрдХ рдЕрд▓рдЧ рдлрд╝реЙрдиреНрдЯ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╕рд╣реА рд╕реНрдерд╛рди рдкрд░ рдирд╣реАрдВред
рдкреНрд░рдЬрдирди рдХрд░рдиреЗ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛
рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо:
рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
<Modal show={this.state.showPDF}
onHide={this.handleClose} dialogClassName="modal-100w">
<Modal.Header closeButton>
</Modal.Header>
<Modal.Body style={{margin: "auto"}}>
<Document file={this.state.pdfURL} onLoadSuccess={(page) => this.onDocumentLoadSuccess(page)}>
<Page renderMode="svg" scale={1.0} pageNumber={1} customTextRenderer={(textItem) => this.customTextRenderer(textItem)} onLoadSuccess={(page) => this.onPageLoadSuccess(page)} />
</Document>
</Modal.Body>
</Modal>
рдФрд░ customTextRenderer
рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
return textItem.str
.split(this.terms[0])
.reduce((strArray, currentValue, currentIndex) => (
currentIndex === 0
? ([...strArray, currentValue])
: ([...strArray, (
// eslint-disable-next-line react/no-array-index-key
<mark key={currentIndex}>
{this.terms[0]}
</mark>
), currentValue])
), []);
}
(рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдирдореВрдиреЗ рдореЗрдВ рд╕реЗ рдПрдХ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ)
рдЕрдкреЗрдХреНрд╖рд┐рддреН рд╡реНрдпрд╡рд╣рд╛рд░
рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдП рдЧрдП рдЯреЗрдХреНрд╕реНрдЯ рд╢реЛ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдФрд░ рдПрдХ рд╣реА рдлрд╝реЙрдиреНрдЯ рдореЗрдВ рдФрд░ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред
рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА
рдореИрдВ рджреЛрдиреЛрдВ svg рдФрд░ рдХреИрдирд╡рд╛рд╕ рдХреЗ рд╕рд╛рде рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рджреЗрдЦреЗрдВред
# 189 рдореЗрдВ рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рдХрд╛рдо рдХреЗ рд╕рд╛рде рдХреЛрдИ рднрд╛рдЧреНрдп рдирд╣реАрдВ рдерд╛ред рдореИрдВрдиреЗ # 212 рднреА рджреЗрдЦрд╛ рд╣реИред
рд╡рд╛рддрд╛рд╡рд░рдг
рдирдорд╕реНрддреЗ,
рдкреАрдбреАрдПрдл рдХреИрд╕реЗ рд░реЗрдВрдбрд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рдХреА рд╡рдЬрд╣ рд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рд▓реЗрдпрд░ рдХрд╛ рд╣рдореЗрд╢рд╛ рдкрд╛рда рдХреЗ рдиреАрдЪреЗ рдорд┐рд▓рд╛рди рд╣реЛрдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдЗрд╕ рдкрд░ рдЦреЗрдж рд╣реИ :( рдореЛрдЬрд┐рд▓рд╛ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рддрд░рдХреАрдмреЗрдВ рд╣реИрдВ рдФрд░ рдореИрдВ рдЗрд╕ рдкрд╛рда рдХреЛ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдЬреЛ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ рд╡рд╣ <mark
рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИред рдЗрд╕реА рддрд░рд╣ рдореЛрдЬрд╝рд┐рд▓рд╛ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд╛рд░рджрд░реНрд╢реА рдкрд╛рда рдХреЗ рд╕рд╛рдеред , рдФрд░ рдЕрд░реНрдз-рдкрд╛рд░рджрд░реНрд╢реА рдкреГрд╖реНрдарднреВрдорд┐ рдЗрд╕ рддрд░рд╣, рдареАрдХ рд╕реЗ рд╕рдВрд░реЗрдЦрд┐рдд, рдареАрдХ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдкрд╛рда "рдЪрдпрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ" рдЪрдордХ рдЬрд╛рдПрдЧрд╛ред
рдореИрдВ рдПрдХ рд╢реЙрдЯ рджреЗрддрд╛ рд╣реВрдБред рд╕рд▓рд╛рд╣ рдХреЗ рд▓рд┐рдпреЗ рдзрдиреНрдпрд╡рд╛рджред
рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдЯреЗрд╕реНрдЯ рд╕реВрдЯ BTW рдореЗрдВ рдЙрдкрдпреЛрдЧ :) рдХреЙрдкреА рдФрд░ рдкреЗрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕!
рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ред рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рд╕реАрдПрд╕рдПрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╕реЛрдЪрд╛ рдерд╛ред рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░ рдЖрдкрдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЦреБрд╢реА рдХреА рдмрд╛рдд рд╣реИред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдЯреЗрд╕реНрдЯ рд╕реВрдЯ BTW рдореЗрдВ рдЙрдкрдпреЛрдЧ :) рдХреЙрдкреА рдФрд░ рдкреЗрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕!
https://github.com/wojtekmaj/react-pdf/blob/5f9a1928a4ce49f97bca2b5d5e68df63c99725c8/test/Test/less#L126 -L132