κΈ°μ
λ§ν¬ νκ·Έλ₯Ό μ¬μ©νμ¬ μ£Όμ λ μ΄μ΄μμ ν μ€νΈλ₯Ό κ°μ‘° νμνλ €κ³ ν λ μ΄μν κΈκΌ΄ λμ.
react-bootstrap λͺ¨λ¬ λν μμμ pdfλ₯Ό νμνκ³ μμ΅λλ€. νμ΄μ§ κ΅¬μ± μμμ 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μ canvasλ‘ μλνμ§λ§ λμΌν λμμ λ΄
λλ€.
# 189μμλ λμΌν λμμ΄ λ°μνμ§λ§ ν΄κ²° λ°©λ²μΌλ‘λ μ΄μ΄ μμμ΅λλ€. λλ λν # 212λ₯Ό 보μλ€.
νκ²½
μλ
νμΈμ,
PDFκ° λ λλ§λλ λ°©μμΌλ‘ μΈν΄ ν
μ€νΈ λ μ΄μ΄κ° μλμ ν
μ€νΈμ μ νν μΌμΉνλ κ²μ΄ νμ κ°λ₯ν κ²μ μλλλ€. μ£μ‘ν©λλ€ :( Mozillaμλ λ§μ νΈλ¦μ΄ μμΌλ©°μ΄ ν
μ€νΈλ₯Ό μ λ ¬νλ λ° μ¬μ©νκ³ μμ΅λλ€. μ μ ν μμλ κ²μ Mozillaκ° μννλ λ°©μκ³Ό μ μ¬νκ² <mark
> ꡬννλ κ²μ΄λ―λ‘ ν¬λͺ
ν ν
μ€νΈλ‘ , λ°ν¬λͺ
λ°°κ²½. μ΄λ κ²νλ©΄ μ μ νκ² μ λ ¬λκ³ μ μ νκ² λ λλ§ λ ν
μ€νΈκ° μ ν μμμ "λΉλκ²"λ©λλ€.
λ΄κ° ν λ²ν΄λ³Ό κ². μ μ ν΄ μ£Όμ μ κ°μ¬ν©λλ€.
κ·Έκ²μ΄ λ΄κ° λ΄ μμ μ ν μ€νΈ μ€μνΈ BTWμμ μ¬μ©νλ κ²μ λλ€. :) μμ λ‘κ² λ³΅μ¬νμ¬ λΆμ¬ λ£μΌμμμ€!
μ΄κ²μ μλ²½νκ² μλνμ΅λλ€. μ μ ν΄ μ£Όμ μ κ°μ¬ν©λλ€. μ΄λ€ μ΄μ λ‘ CSSμ λν΄ μΆ©λΆν μκ°νμ§ μμμ΅λλ€. κ·Έλ¦¬κ³ λμκ΄ μμ μ κ°μ¬λ립λλ€! κ·Έκ²μ μ¬μ©νλ κ²μ΄ μ¦κ±°μ μ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
κ·Έκ²μ΄ λ΄κ° λ΄ μμ μ ν μ€νΈ μ€μνΈ BTWμμ μ¬μ©νλ κ²μ λλ€. :) μμ λ‘κ² λ³΅μ¬νμ¬ λΆμ¬ λ£μΌμμμ€!
https://github.com/wojtekmaj/react-pdf/blob/5f9a1928a4ce49f97bca2b5d5e68df63c99725c8/test/Test.less#L126 -L132