компонент для работы с файлами в БД

mail-22

Турист
Регистрация
21 Янв 2009
Сообщения
8
Реакции
0
Credits
20
подскажите компонент для работы с файлами ворд и пдф в БД - т.е. (предварительный) просмотр на форме файлов из BLOB
 

Ivanov-m2

Турист
Регистрация
22 Янв 2006
Сообщения
23
Реакции
1
Credits
42
Вообще-то, для ответа на вопрос нужно знать версию Delphi и установлены ли Word и Adobe Acrobat...
Например, если установлены и D7, то для Word проще всего использовать OLE. Что-то типа CreateOleObject('Word.Application') и т.д. А для PDF установить Active-X через Components-Import Active type library.
А так вариантов масса - можно целую книгу написать:)
 

S_Gur

Premium
Регистрация
26 Фев 2007
Сообщения
76
Реакции
13
Credits
1,319
подскажите компонент для работы с файлами ворд и пдф в БД - т.е. (предварительный) просмотр на форме файлов из BLOB

Вряд ли найдется единый подобный компонент. Тебе требуется решить две абсолютно разные задачи - работа с BLOB-данными в таблице и просмотр произвольной информации, вытащенной оттуда. Для просмотра произвольных файлов был когда-то неплохой компонент ATViewer. Уж не знаю, актуален ли он сейчас. Ну а с блобами, думаю, разберешься
 

lolosoft

Местный
Регистрация
14 Янв 2010
Сообщения
39
Реакции
49
Credits
60
А с Word'ом, я считаю, лучше работать через OLE. А у Adobe, вроде бы как, был ActiveX, который можно установить и использовать. Так же у TMS есть NativePDF.

Правильно сказал S_Gur - потребуется, как минимум, разбить на две подзадачи.
 

S_Gur

Premium
Регистрация
26 Фев 2007
Сообщения
76
Реакции
13
Credits
1,319
А с Word'ом, я считаю, лучше работать через OLE. А у Adobe, вроде бы как, был ActiveX, который можно установить и использовать. Так же у TMS есть NativePDF.

Правильно сказал S_Gur - потребуется, как минимум, разбить на две подзадачи.

Честно говоря, я в таких случаях действовал втупую - открывал файлы с помощью Windows - обычным ShellExecute. Принимая за аксиому, что если пользователь программы работает с этими файлами и видит необходимость занести их в базу - значит, у него определенно есть средства для работы с ними. Если требуется только просмотр - обычно ничего другого и не требуется
 

sparta

Местный
Регистрация
5 Окт 2008
Сообщения
14
Реакции
4
Credits
28
Компоненты для разных задач, как по шаблону, так и просто вывод:
WinSoft Word Component Suite
WinSoft PDFium Component Suite
Ek RTF
FastReport -> Export to Word, PDF
QuickReport -> Export to Word, PDF
HTMLViewer
PDFtoolkit VCL
Quick PDF Library
ReportMachine
Gnostice documents created to more 20 formats
и т.д., вообще-то компонентов довольно много.
 

ziv_2010

Местный
Регистрация
19 Май 2010
Сообщения
11
Реакции
4
Credits
22
Загружайте файл из BLOB в TMemoryStream, а далее открывайте его в нужном формате.
 

Ivanov-m2

Турист
Регистрация
22 Янв 2006
Сообщения
23
Реакции
1
Credits
42
Несколько замечаний по поводу просмотра PDF.
Я выше писал, что использую Active-X. Однако, в последнее время с ним начались проблемы. На всех версиях Adobe Reader младше XI возникает ошибка при Create формы с компонентом Active-X. Причем, видимо, после обновления Adobe Reader, т.к. у всех обычно стоит автоматическое обновление.
Глубокого исследования проводить не стал, а решил подобрать что-нибудь другое. Остановился на PDFtoolkit, причем последних версий (у меня 5.0.0.402). Я на этот компонент смотрел и раньше, но более старые версии не все файлы PDF открывали корректно. В частности, одна из организаций присылала мне сформированные автоматически файлы в каком-то старом формате и PDFtoolkit открывал их так, что слова "налазили" друг на друга. А в последней версии эта проблема ушла.
 

Ivanov-m2

Турист
Регистрация
22 Янв 2006
Сообщения
23
Реакции
1
Credits
42
Загружайте файл из BLOB в TMemoryStream, а далее открывайте его в нужном формате.

Мысль, конечно, ценная. Только Active-X компонент PDF и OLE для Microsoft Office работают с файлами, а не со стримами :)
 

boroda66

Турист
Регистрация
9 Окт 2013
Сообщения
4
Реакции
0
Credits
6
Мысль, конечно, ценная. Только Active-X компонент PDF и OLE для Microsoft Office работают с файлами, а не со стримами :)

Так в чём проблема? Во временную папку записал и делай с ним что хочешь.
 

ZuluSpirit

Турист
Регистрация
24 Май 2017
Сообщения
2
Реакции
0
Credits
4
подскажите компонент для работы с файлами ворд и пдф в БД - т.е. (предварительный) просмотр на форме файлов из BLOB
А как Вы собираетесь различать типы файлов?
Была идея реализовать подобное, но какого-то универсального метода идентификации типов и соответственно их обработки не придумал (*xls, *.xlsx, *.odt и т.д. решают одни и те же задачи но не есть обратносовместимыми, и для каждого типа компонент поддерживать?!) и в результате сейчас файлы сохраняются в временную папку и ShellExecute.