وصف
سلوك خط غريب عند محاولة تمييز النص في طبقة التعليقات التوضيحية بعلامة العلامة.
أعرض ملف 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 وأنا لمحاذاة هذا النص. ما يمكنني اقتراحه هو تنفيذ <mark
> بشكل مشابه لكيفية قيام Mozilla بذلك ، لذلك باستخدام نص شفاف وخلفية شبه شفافة. بهذه الطريقة ، سيظهر النص المحاذي بشكل صحيح والمعروض بشكل صحيح خلال التحديد.
سأعطي ذلك فرصة. شكرا على اقتراحك.
هذا ما أستخدمه في مجموعة الاختبار الخاصة بي راجع للشغل :) لا تتردد في النسخ واللصق!
عمل هذا على أكمل وجه. شكرًا جزيلاً على الاقتراح ، لسبب ما لم أفكر بما فيه الكفاية في CSS. وشكرا لعملكم في المكتبة! لقد كان من دواعي سروري استخدامه.
التعليق الأكثر فائدة
هذا ما أستخدمه في مجموعة الاختبار الخاصة بي راجع للشغل :) لا تتردد في النسخ واللصق!
https://github.com/wojtekmaj/react-pdf/blob/5f9a1928a4ce49f97bca2b5d5e68df63c99725c8/test/Test.less#L126 -L132