PHP | חילוץ טקסט בעברית מקובץ PDF
-
@yossiz אמר בPHP | חילוץ טקסט בעברית מקובץ PDF:
ולמה זה אוטומטית הופך את סדר התווים?
לא כל כך הבנתי מה אתה שואל אבל אני אסביר יותר מה התכוונתי.
יש לי תווים בסדר הפוך:
םולש
במקום
שלום.והפונקציה הזאת מחזירה את התווים בסדר הנכון, האיך?
-
@yossiz אמר בPHP | חילוץ טקסט בעברית מקובץ PDF:
@WWW עם איזה אופציה FRIBIDI_XXXX קראת לפונקציה?
בשניהם.
רק שב LTR זה מחזיר: Hello !עולם ,
וב RTL זה מחזיר: , עולם! Helloאני רואה שעשיתי טעות.
חשבתי שבקטע RTL הפונקציה יביא סדר חזותי מימין לשמאל. למעשה לפי מה שאתה אומר זה מביא את הסדר משמאל לימין.יש דבר שאני לא מבין,
@WWW אמר בPHP | חילוץ טקסט בעברית מקובץ PDF:במקור זה מופיע כך:
Hello !םלוע ,למה? זה לא סדר וויזואלי, אולי זה הסדר של הרינדור ב-PDF? אתה יכול להעלות את ה-PDF?
-
אני רואה שעשיתי טעות.
חשבתי שבקטע RTL הפונקציה יביא סדר חזותי מימין לשמאל. למעשה לפי מה שאתה אומר זה מביא את הסדר משמאל לימין.יש דבר שאני לא מבין,
@WWW אמר בPHP | חילוץ טקסט בעברית מקובץ PDF:במקור זה מופיע כך:
Hello !םלוע ,למה? זה לא סדר וויזואלי, אולי זה הסדר של הרינדור ב-PDF? אתה יכול להעלות את ה-PDF?
@yossiz אמר בPHP | חילוץ טקסט בעברית מקובץ PDF:
אולי זה הסדר של הרינדור ב-PDF?
זה בדיוק עיקר הבעיה עם קריאה של PDF, כנראה כל מיני צורות של ספריות שאחראיות לסגירה. לא יודע מה במקרה הזה, אבל עבדתי עם מסמכים (לועזית) שהטקסט היה מאונך וכל מיני טריקים הזויים. היה ממש קשה נורא לקחת אפילו שתי תוים אחד ליד השני ובזמנו הוצאתי לפי מיקום עם rectangles שעשיתי לפי השורות.
-
@yossiz אמר בPHP | חילוץ טקסט בעברית מקובץ PDF:
אולי זה הסדר של הרינדור ב-PDF?
זה בדיוק עיקר הבעיה עם קריאה של PDF, כנראה כל מיני צורות של ספריות שאחראיות לסגירה. לא יודע מה במקרה הזה, אבל עבדתי עם מסמכים (לועזית) שהטקסט היה מאונך וכל מיני טריקים הזויים. היה ממש קשה נורא לקחת אפילו שתי תוים אחד ליד השני ובזמנו הוצאתי לפי מיקום עם rectangles שעשיתי לפי השורות.
-
@WWW אמר בPHP | חילוץ טקסט בעברית מקובץ PDF:
עדיין יש קצת בעיות עם תווים בלתי מזוהים.
גם עם זה הסתדתי ב"ה, עם זה: https://stackoverflow.com/a/3466049
/** * Removes invalid XML * * @access public * @param string $value * @return string */ function stripInvalidXml($value) { $ret = ""; $current;// למחוק גורם לשגיאה. if (empty($value)) { return $ret; } $length = strlen($value); for ($i=0; $i < $length; $i++) { $current = ord($value{$i}); if (($current == 0x9) || ($current == 0xA) || ($current == 0xD) || (($current >= 0x20) && ($current <= 0xD7FF)) || (($current >= 0xE000) && ($current <= 0xFFFD)) || (($current >= 0x10000) && ($current <= 0x10FFFF))) { $ret .= chr($current); } else { $ret .= " "; } } return $ret; } -
-
@WWW בינתיים מצאתי קובץ אחד שזה לא מוציא את רוב הטקטס.
מדובר בקובץ שנוצר ע"י וורד עם התוסף החינמי של חלון ומרכוז שורה אחרונה, ב2 טורים.
הוא מוציא רק את הכותרות. -
@WWW אה, חשבתי שתוכל לעשות קובץ דוגמה בלי תוכן חסוי.
אם לא איכפת לך שאני אראה את הקובץ תוכל לשלוח לשם. יש לי גם כתובת מייל רגיל... yossizahn@gmail.com -
הגוטמן דרוגולין שיש לי מקודד נכון (וגם ב-PDF יוצא נכון), אבל ייתכן שיש גיגרסאות ישנות שלא מקודדים נכון.
-
@WWW צודק, עכשיו שאני בודק שוב, אני רואה שזה לא שזה מקודד לא נכון, אלא שזה לא מקודד בכלל. (אין ערך יוניקוד לתווים)
-
-
@WWW צודק, עכשיו שאני בודק שוב, אני רואה שזה לא שזה מקודד לא נכון, אלא שזה לא מקודד בכלל. (אין ערך יוניקוד לתווים)
-
Y yossiz התייחס לנושא זה ב
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות