SAPфорум.RU https://sapboard.ru/forum/ |
|
Выкладываю парсер PDF (класс для чтения файла PDF напрямую) https://sapboard.ru/forum/viewtopic.php?f=13&t=51283 |
Страница 2 из 2 |
Автор: | Бородин Игорь [ Вт, сен 17 2019, 10:43 ] |
Заголовок сообщения: | Re: Выкладываю парсер PDF (класс для чтения файла PDF напрямую) |
raaleksandr написал: Выложил как был на проекте, могут быть внешние ссылки. Если что присылайте ошибки, постараюсь всё посмотреть Большое спасибо! В этом виде код что-то распарсил, уже хорошо... но "кракозябры" вместо русских букв. Надо экспериментировать с кодировкой. Но с этим буду разбираться позже, т.к. в моей задаче сейчас уже стоит вопрос о том, чтобы вместо PDF грузить RTF. Ещё раз спасибо!
|
Автор: | Бородин Игорь [ Ср, окт 30 2019, 18:50 ] |
Заголовок сообщения: | Re: Выкладываю парсер PDF (класс для чтения файла PDF напрямую) |
raaleksandr написал: Акт. код. стр. сервера приложений 1500 А вот мне, к сожалению, не помогло. У меня PDF с CMap (beginbfrange ... endbfrange). Код. страница фронтэнда 1504 помогло В PDF есть строка 'Отметки банка' В в исходном виде эта строка выглядит так <0248026C0266025F026C026402620003025B025A02670264025A> Tj В преобразованном (через CMap) виде имеем такой HEX: 041E0442043C04350442043A04382004310430043D043A0430 Теперь этот Xstring надо бы конвертировать в STRING, и дело с концом... но не тут-то было. Перебрал все известные кодировки, вижу что-то типа такого '##B#<#5#B#:#8 #1#0#=#:#0' Но если откинуть первый байт (04), оставить только 1E0442043C04350442043A04382004310430043D043A0430 то: кодировка utf-16le дает такой результат: Отметк‸〄㴄㨄 кодировка utf-16be дает такой результат: Ḅ䈄㰄㔄䈄㨄㠠банка То есть пробел портит либо первую, либо вторую половину текста. Другие кодировки результата вообще не дают. Ну никак не могу это преодолеть. Какие ещё манипуляции требуется сделать? В какую сторону копать? Подскажите, пожалуйста! |
Автор: | hoar [ Пт, ноя 01 2019, 18:29 ] |
Заголовок сообщения: | Re: Выкладываю парсер PDF (класс для чтения файла PDF напрямую) |
Бородин Игорь написал(а): Какие ещё манипуляции требуется сделать? В какую сторону копать? Подскажите, пожалуйста! Добрый день! Проверить наличие и соответствие текущей кодировке BOM пробовали? С уважением, hoar |
Автор: | NickS [ Вт, дек 20 2022, 15:52 ] |
Заголовок сообщения: | Re: Выкладываю парсер PDF (класс для чтения файла PDF напрямую) |
День добрый, коллеги. Попробовал применить парсер для практических нужд - столкнулся с проблемой: не выводятся значения в текстовых элементах, где присутствуют символы из очень не дружественных кодировок типа Š (достаточно одного подобного символа - в ячейке пусто). С английским и немецким вариантом все нормально, а вот с такими символами пусто, хотя позиционирование отрабатывает корректно. После считывания данных в mt_filelines в таких позициях данные вида Code: [<0064001C>6<0012002C>-3<0045002F>4<0012003C0006>-4<00030061>-3<0057001C>4<0012002F0026002F003C0006>-4<0012002F0004>] TJ в текст не преобразовываетсявместо правильного на немецком. Code: [(TE)6(CH)-3(NI)4(S)-3(CH)-3(E)4( S)-3(PE)4(ZIFIKATI)3(O)-3(N)] TJ Это одно и то же поле на разных языках.Может кто подскажет что проверить? Сам pdf сгенерирован из Excel. |
Автор: | NickS [ Пн, фев 19 2024, 16:23 ] |
Заголовок сообщения: | Re: Выкладываю парсер PDF (класс для чтения файла PDF напрямую) |
Немного оживлю тему, все таки приходится разбираться с темой такого отображения символов - сильно надо Цитата: [<0064001C>6<0012002C>-3<0045002F>4<0012003C0006>-4<00030061>-3<0057001C>4<0012002F0026002F003C0006>-4<0012002F0004>] TJ так как в новой версии файлов весь текст так кодируется - единственное что нашел, это в старой версии между тэгами beginbfrange/endbfrange и beginbfchar/endbfchar лежат перекодировочные значения ADOBE и Номер в Юникоде Code: <0006> <00C1> это пример типа 0006 соответствует 00C1 в Юникоде вроде как Á . Я собрал такой справочник запустил по нему расшифровку, вроде работает, но вопрос до какого времени? Если шрифт поменяется или еще какие то изменения
|
Страница 2 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |