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

mail-22

Member
Joined
Jan 21, 2009
Messages
7
Reaction score
0
подскажите компонент для работы с файлами ворд и пдф в БД - т.е. (предварительный) просмотр на форме файлов из BLOB
 

Ivanov-m2

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

S_Gur

Premium
Joined
Feb 26, 2007
Messages
38
Reaction score
6
Age
56
Location
Moscow
подскажите компонент для работы с файлами ворд и пдф в БД - т.е. (предварительный) просмотр на форме файлов из BLOB

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

lolosoft

Member
Joined
Jan 14, 2010
Messages
39
Reaction score
47
А с Word'ом, я считаю, лучше работать через OLE. А у Adobe, вроде бы как, был ActiveX, который можно установить и использовать. Так же у TMS есть NativePDF.

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

S_Gur

Premium
Joined
Feb 26, 2007
Messages
38
Reaction score
6
Age
56
Location
Moscow
А с Word'ом, я считаю, лучше работать через OLE. А у Adobe, вроде бы как, был ActiveX, который можно установить и использовать. Так же у TMS есть NativePDF.

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

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

Sparta

Member
Joined
Oct 5, 2008
Messages
14
Reaction score
4
Age
33
Компоненты для разных задач, как по шаблону, так и просто вывод:
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

Member
Joined
May 19, 2010
Messages
11
Reaction score
4
Загружайте файл из BLOB в TMemoryStream, а далее открывайте его в нужном формате.
 

Ivanov-m2

Member
Joined
Jan 22, 2006
Messages
23
Reaction score
1
Location
Москва
Несколько замечаний по поводу просмотра PDF.
Я выше писал, что использую Active-X. Однако, в последнее время с ним начались проблемы. На всех версиях Adobe Reader младше XI возникает ошибка при Create формы с компонентом Active-X. Причем, видимо, после обновления Adobe Reader, т.к. у всех обычно стоит автоматическое обновление.
Глубокого исследования проводить не стал, а решил подобрать что-нибудь другое. Остановился на PDFtoolkit, причем последних версий (у меня 5.0.0.402). Я на этот компонент смотрел и раньше, но более старые версии не все файлы PDF открывали корректно. В частности, одна из организаций присылала мне сформированные автоматически файлы в каком-то старом формате и PDFtoolkit открывал их так, что слова "налазили" друг на друга. А в последней версии эта проблема ушла.
 

Ivanov-m2

Member
Joined
Jan 22, 2006
Messages
23
Reaction score
1
Location
Москва
Загружайте файл из BLOB в TMemoryStream, а далее открывайте его в нужном формате.

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

boroda66

New member
Joined
Oct 9, 2013
Messages
4
Reaction score
0
Мысль, конечно, ценная. Только Active-X компонент PDF и OLE для Microsoft Office работают с файлами, а не со стримами :)

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

Ivanov-m2

Member
Joined
Jan 22, 2006
Messages
23
Reaction score
1
Location
Москва
Так в чём проблема? Во временную папку записал и делай с ним что хочешь.
Да нет ни каких проблем - просто SaveToStream и SaveToFile разные функции...
 

ZuluSpirit

New member
Joined
May 24, 2017
Messages
2
Reaction score
0
подскажите компонент для работы с файлами ворд и пдф в БД - т.е. (предварительный) просмотр на форме файлов из BLOB
А как Вы собираетесь различать типы файлов?
Была идея реализовать подобное, но какого-то универсального метода идентификации типов и соответственно их обработки не придумал (*xls, *.xlsx, *.odt и т.д. решают одни и те же задачи но не есть обратносовместимыми, и для каждого типа компонент поддерживать?!) и в результате сейчас файлы сохраняются в временную папку и ShellExecute.
 
Top