powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Коллеги, у кого Windows 8 или Windows 2012?
9 сообщений из 9, страница 1 из 1
Коллеги, у кого Windows 8 или Windows 2012?
    #39018210
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В продолжение темы о 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.
Текст из файла виден или ошибка?
...
Рейтинг: 0 / 0
Коллеги, у кого Windows 8 или Windows 2012?
    #39018847
МихаилР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuh,

Windows 8 (x64). Стоит Adobe Reader 11.

Утилита filtreg.exe (из Windows SDK) для pdf показывает такое:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
...
.pdf --> PDF Filter (C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRdIF.dll)
...
Adobe Acrobat Document
        Filter: PDF Filter (C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRdIF.dll)
        Extensions: .xfdf (AcroExch.XFDFDoc) .xdp (AcroExch.XDPDoc) 
        Extensions: .pdfxml (AcroExch.pdfxml) .fdf (AcroExch.FDFDoc) 
        Extensions: .acrobatsecuritysettings (AcroExch.acrobatsecuritysettings) 
...


Собрал 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 - все прочиталось корректно.
...
Рейтинг: 0 / 0
Коллеги, у кого Windows 8 или Windows 2012?
    #39018856
МихаилР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МихаилР,

Перечитал ветку, на которую вы ссылаетесь, понял, что вам нужно немного другое, а именно проверка стандартного фильтра (от Microsoft, а не Adobe).
Увы, пока не смогу это сделать - надо развертывать чистую виртуалку. Мог бы сделать в Azure, там должны быть именно чистые образы, но пока банально нет времени. :(
...
Рейтинг: 0 / 0
Коллеги, у кого Windows 8 или Windows 2012?
    #39018934
МихаилР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал на чистом 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) и на любых форматах. В чем тут проблема я не представляю. На моей машине утилита отрабатывает на "ура".
...
Рейтинг: 0 / 0
Коллеги, у кого Windows 8 или Windows 2012?
    #39019061
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо, Михаил!
это то, о чем я писал.

Все подтверждается, странный, но стандартный от майкрософта фильтр входит в состав Windows >=8 и Windows Server >=2012.

Самый прикол в том, что SQL Server с ним работает, а из кода пока не свосем понятно как работать.

Я сегодня к концу дня нашел один метод, он принципиально срабатывает с glcndFilter на 8 и 2012, но тоже по-разному.
На 8 "легче", на сервере по-другому. Причина мне пока непонятна.
...
Рейтинг: 0 / 0
Коллеги, у кого Windows 8 или Windows 2012?
    #39019064
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, и там я автору той библиотеки писал тоже: rtf фильтр именно на сервере тоже криво работает.
Он отмороился, типа того что у него rtf срабатывает, а для pdf поставь от Адобе.

Но для меня это не выход, во-первых юзеру не будешь объяснять, и во-вторых - SQL Server то работает со стандартным набором, правда zip фильтр недоделанный, рядом в форуме по SQL Server коллеги подтвердили.
...
Рейтинг: 0 / 0
Коллеги, у кого Windows 8 или Windows 2012?
    #39019233
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МихаилРПопробовал на чистом 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 фильтр на той же машине в том же приложении?
...
Рейтинг: 0 / 0
Коллеги, у кого Windows 8 или Windows 2012?
    #39020145
МихаилР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuh,

Михаил, а как работает rtf фильтр на той же машине в том же приложении?
Работает отлично.
...
Рейтинг: 0 / 0
Коллеги, у кого Windows 8 или Windows 2012?
    #39020160
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МихаилРWinnipuh,

Михаил, а как работает rtf фильтр на той же машине в том же приложении?
Работает отлично.

спасибо, МихаилР, у меня не хочет, надо разбираться.

Я довел автора кода до того, что он добавил опцию 'Read into memory' и код для работы с фильтрами типа glcndFilter.dll
Свежая верия на гитхабе, в таком варианте работает.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Коллеги, у кого Windows 8 или Windows 2012?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]