|
Коллеги, у кого Windows 8 или Windows 2012?
|
|||
---|---|---|---|
#18+
В продолжение темы о FTS и в общем кривой реализации некоторых частей от Microsoft http://www.sql.ru/forum/1167338/sql2012-fts-pochemu-ne-indeksiruutsya-pdf-cs-i-t-d Здесь есть утилита https://github.com/Sicos1977/IFilterTextReader Кто сможет - попробуйте открыть в ней файл pdf на W8 и W2012. Текст из файла виден или ошибка? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2015, 07:45 |
|
Коллеги, у кого Windows 8 или Windows 2012?
|
|||
---|---|---|---|
#18+
Winnipuh, Windows 8 (x64). Стоит Adobe Reader 11. Утилита filtreg.exe (из Windows SDK) для pdf показывает такое: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Собрал IFilterTextViewer и запустил как AnyCPU получил ошибку: at IFilterTextReader.FilterLoader.GetFilterDllAndClass(String extension, String& dllName, String& filterPersistClass) in d:\Temp\ITextReader\IFilterTextReader\IFilterTextReader\FilterLoader.cs:line 224 at IFilterTextReader.FilterLoader.LoadAndInitIFilter(Stream stream, String extension, Boolean disableEmbeddedContent, String fileName) in d:\Temp\ITextReader\IFilterTextReader\IFilterTextReader\FilterLoader.cs:line 114 at IFilterTextReader.FilterReader..ctor(String fileName, String extension, Boolean disableEmbeddedContent, Boolean includeProperties) in d:\Temp\ITextReader\IFilterTextReader\IFilterTextReader\FilterReader.cs:line 140 at IFilterTextViewer.MainForm.SelectButton_Click(Object sender, EventArgs e) in d:\Temp\ITextReader\IFilterTextReader\IFilterTextViewer\MainForm.cs:line 112 Could not find a 64 bits IFilter dll for a file with an '.pdf' extension Поменял Platform target на x86 - все прочиталось корректно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2015, 16:24 |
|
Коллеги, у кого Windows 8 или Windows 2012?
|
|||
---|---|---|---|
#18+
МихаилР, Перечитал ветку, на которую вы ссылаетесь, понял, что вам нужно немного другое, а именно проверка стандартного фильтра (от Microsoft, а не Adobe). Увы, пока не смогу это сделать - надо развертывать чистую виртуалку. Мог бы сделать в Azure, там должны быть именно чистые образы, но пока банально нет времени. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2015, 16:31 |
|
Коллеги, у кого Windows 8 или Windows 2012?
|
|||
---|---|---|---|
#18+
Попробовал на чистом 2012 R2 Стоит стандартный фильтр (смотрю также - через filtreg.exe): .pdf --> Reader Search Handler (%systemroot%\system32\glcndFilter.dll) Программа возвращает ошибку: at IFilterTextReader.NativeMethods.IPersistStream.Load(IStream pStm) at IFilterTextReader.FilterLoader.LoadAndInitIFilter(Stream stream, String extension, Boolean disableEmbeddedContent, String fileName) in d:\Temp\ITextReader\IFilterTextReader\IFilterTextReader\FilterLoader.cs:line 140 at IFilterTextReader.FilterReader..ctor(String fileName, String extension, Boolean disableEmbeddedContent, Boolean includeProperties) in d:\Temp\ITextReader\IFilterTextReader\IFilterTextReader\FilterReader.cs:line 138 at IFilterTextViewer.MainForm.SelectButton_Click(Object sender, EventArgs e) in d:\Temp\ITextReader\IFilterTextReader\IFilterTextViewer\MainForm.cs:line 112 Exception from HRESULT: 0x80048605 Текстовый документ прочитался на ура. Но меня еще один момент смутил, который я не могу объяснить. Утилита filtdump.exe тоже возвращает ошибку, но другую Failed to CoCreate ILoadFilter instance, hr == 0x80040154 FILTDUMP failed, hr == 0x80040154 Возвращают все версии (и x86, и x64) и на любых форматах. В чем тут проблема я не представляю. На моей машине утилита отрабатывает на "ура". ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2015, 17:35 |
|
Коллеги, у кого Windows 8 или Windows 2012?
|
|||
---|---|---|---|
#18+
спасибо, Михаил! это то, о чем я писал. Все подтверждается, странный, но стандартный от майкрософта фильтр входит в состав Windows >=8 и Windows Server >=2012. Самый прикол в том, что SQL Server с ним работает, а из кода пока не свосем понятно как работать. Я сегодня к концу дня нашел один метод, он принципиально срабатывает с glcndFilter на 8 и 2012, но тоже по-разному. На 8 "легче", на сервере по-другому. Причина мне пока непонятна. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2015, 20:08 |
|
Коллеги, у кого Windows 8 или Windows 2012?
|
|||
---|---|---|---|
#18+
да, и там я автору той библиотеки писал тоже: rtf фильтр именно на сервере тоже криво работает. Он отмороился, типа того что у него rtf срабатывает, а для pdf поставь от Адобе. Но для меня это не выход, во-первых юзеру не будешь объяснять, и во-вторых - SQL Server то работает со стандартным набором, правда zip фильтр недоделанный, рядом в форуме по SQL Server коллеги подтвердили. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2015, 20:13 |
|
Коллеги, у кого Windows 8 или Windows 2012?
|
|||
---|---|---|---|
#18+
МихаилРПопробовал на чистом 2012 R2 Стоит стандартный фильтр (смотрю также - через filtreg.exe): .pdf --> Reader Search Handler (%systemroot%\system32\glcndFilter.dll) Программа возвращает ошибку: at IFilterTextReader.NativeMethods.IPersistStream.Load(IStream pStm) at IFilterTextReader.FilterLoader.LoadAndInitIFilter(Stream stream, String extension, Boolean disableEmbeddedContent, String fileName) in d:\Temp\ITextReader\IFilterTextReader\IFilterTextReader\FilterLoader.cs:line 140 at IFilterTextReader.FilterReader..ctor(String fileName, String extension, Boolean disableEmbeddedContent, Boolean includeProperties) in d:\Temp\ITextReader\IFilterTextReader\IFilterTextReader\FilterReader.cs:line 138 at IFilterTextViewer.MainForm.SelectButton_Click(Object sender, EventArgs e) in d:\Temp\ITextReader\IFilterTextReader\IFilterTextViewer\MainForm.cs:line 112 Exception from HRESULT: 0x80048605 Текстовый документ прочитался на ура. Но меня еще один момент смутил, который я не могу объяснить. Утилита filtdump.exe тоже возвращает ошибку, но другую Failed to CoCreate ILoadFilter instance, hr == 0x80040154 FILTDUMP failed, hr == 0x80040154 Возвращают все версии (и x86, и x64) и на любых форматах. В чем тут проблема я не представляю. На моей машине утилита отрабатывает на "ура". И сюдаже: если в системе установлен SQL Server 2008R2, то он использует этот фильтр и успешно работает с ним. В Майкрософт что-то начудили в этом фильтре, но что и как с ним работать из приложения. МихаилР, а как работает rtf фильтр на той же машине в том же приложении? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2015, 09:03 |
|
Коллеги, у кого Windows 8 или Windows 2012?
|
|||
---|---|---|---|
#18+
Winnipuh, Михаил, а как работает rtf фильтр на той же машине в том же приложении? Работает отлично. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2015, 10:23 |
|
Коллеги, у кого Windows 8 или Windows 2012?
|
|||
---|---|---|---|
#18+
МихаилРWinnipuh, Михаил, а как работает rtf фильтр на той же машине в том же приложении? Работает отлично. спасибо, МихаилР, у меня не хочет, надо разбираться. Я довел автора кода до того, что он добавил опцию 'Read into memory' и код для работы с фильтрами типа glcndFilter.dll Свежая верия на гитхабе, в таком варианте работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2015, 10:31 |
|
|
start [/forum/topic.php?fid=20&msg=39019233&tid=1401313]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 135ms |
0 / 0 |