View previous topic :: View next topic |
Author |
Message |
Дениска
Joined: 26 Feb 2002 Posts: 649
|
Posted: 22 Oct 2007 14:54 Post subject: |
|
|
Марина wrote: |
Я их просто получаю FineReader-ом OCR, может поэтому?
Вот взяла один файлик для примера, получилось 301Кб против 122Кб (jpg в 2,5 раза больше). Но это ничего, ведь когда я писала о гигабайтах, просто перепутала с bmp (он был 1Мб)
В общем, высочайшую санкцию начальника на использование jpg я теперь получила, так что теперь можно и через jpg. |
Файлы с jpg можно сохранять не с полным качеством. При сохранение с качеством 70% для глаза даже при печати это практически не заметно, а файлы при этом уменьшаются иной раз в 3 раза. Правда умеет ли это делать FineReader я не знаю, если не умеет, то я думаю не стоит огород городить ... |
|
Back to top |
|
|
Марина
Joined: 27 Aug 2002 Posts: 501 Location: Кондрина Марина Александровна Occupation: ОАО БКО программист Interests: Боровичи Новгородской обл
|
Posted: 22 Oct 2007 15:31 Post subject: |
|
|
Нет, 70% пока не получается
Я вот думаю, если я установила полную версию Adobe Acrobat 8 Professional, то теперь CreateObj уже должен получаться. Но не получается. Неверное,я неправильно задаю параметр в скобках, может кто-нибудь подскажет, как над |
|
Back to top |
|
|
Марина
Joined: 27 Aug 2002 Posts: 501 Location: Кондрина Марина Александровна Occupation: ОАО БКО программист Interests: Боровичи Новгородской обл
|
Posted: 22 Oct 2007 16:16 Post subject: |
|
|
Ну что же, будем ждать советов по технологии засовывания изображения в memo-поле отдельного файл |
|
Back to top |
|
|
Яков
Joined: 04 Mar 2002 Posts: 618 Location: Яков Occupation: Экстремальная терапия бизнеса Interests: Владивосток
|
Posted: 23 Oct 2007 05:58 Post subject: |
|
|
У нас наверное номенклатура разная.
У меня в одном сертификате почемуто идет перечисление целых товарных групп.
+ есть разделение по цветам и размера |
|
Back to top |
|
|
Марина
Joined: 27 Aug 2002 Posts: 501 Location: Кондрина Марина Александровна Occupation: ОАО БКО программист Interests: Боровичи Новгородской обл
|
Posted: 23 Oct 2007 10:28 Post subject: |
|
|
nordk wrote: | Марина посовещавшись с Дмитрием Шлыоквым.
Я так понял что другого пути как через мемо-поле
у нас действительно нет к сожалению.
Значит вопрос возвращается к созданию временного
файла с мемо-полем, как Вы и просили.
Попробую разобраться. |
Константин, файлы наверное я могу не создавать из программы, а взять готовые. Вы подскажите пожалуйста, как в мемо-поле затолкать файл с картинкой (наименование функции, параметры). |
|
Back to top |
|
|
Марина
Joined: 27 Aug 2002 Posts: 501 Location: Кондрина Марина Александровна Occupation: ОАО БКО программист Interests: Боровичи Новгородской обл
|
Posted: 23 Oct 2007 11:22 Post subject: |
|
|
Из memo-поля картинка тоже что-то не вытаскивается в Дизайнер. Картинка вроде подключается, но получаются пустые страницы вместо рисунков (пробовала bmp и jpg из spartimg.dbf програмы mlimage) |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 23 Oct 2007 11:49 Post subject: |
|
|
Марина wrote: | nordk wrote: | Марина посовещавшись с Дмитрием Шлыоквым.
Я так понял что другого пути как через мемо-поле
у нас действительно нет к сожалению.
Значит вопрос возвращается к созданию временного
файла с мемо-полем, как Вы и просили.
Попробую разобраться. |
Константин, файлы наверное я могу не создавать из программы, а взять готовые. Вы подскажите пожалуйста, как в мемо-поле затолкать файл с картинкой (наименование функции, параметры). |
Марина вобщем функция есть в описании функций к Клипперу 5.3
Называется она
Code: | BLOBIMPORT()
Read the contents of a file as a BLOB, identified by a memo field number
Syntax
BLOBImport(<nFieldPos>, <cSourceFile>) --> lSuccess
Arguments
<nFieldPos> is the position of the field in the database file
structure.
<cSourceFile> is the name of the file from which to read the BLOB
data, including an optional drive, directory, and extension. See
SETDEFAULT() and SETPATH() for file searching and creation rules. No
default extension is assumed.
This function attempts to open <cSourceFile> in shared mode. If the
file does not exist, a runtime error is raised. If the file is
successfully opened, the operation proceeds. If access is denied
because another process has exclusive use of the file, for example,
NETERR() is set to true (.T.). Concurrency control:and BLOBIMPORT()
Note: There are no restrictions on the size of <cSourceFile> except
that you must have enough disk space to make the copy.
Returns
BLOBIMPORT() returns true (.T.) if successful; otherwise, it returns
false (.F.).
Description
BLOBIMPORT() provides a mechanism for copying the contents of a file
into a memo field as BLOB data. By default, this function operates on
the currently selected work area. It can be made to operate on an
unselected work area by specifying it within an aliased expression.
BLOBIMPORT() is used in conjunction with BLOBEXPORT() to transfer BLOB
data back and forth between files and memo fields. You can use
BLOBIMPORT() with a variety of file types, including graphic images,
word processor files, and printer fonts. These two functions are
excellent for creating databases for documents, graphics, sounds, etc.
Note: DBFieldInfo(DBS_BLOB_TYPE, <nFieldPos>) will return "C"
(string) for any memo field created using BLOBIMPORT().
Examples
þ This example imports information from a word processing
document into a field, and then uses BLOBGET() to extract the first
25 characters of the field:
FUNCTION POPULATE()
USE customer NEW VIA "DBFCDX"
// Construct unique file name based on last
// name and id
DO WHILE .NOT. EOF()
GetPix("Pix", Substr(LastName, 1, 4) + CustID)
Customer->DBSKIP()
ENDDO
FUNCTION GetPix(cPixField, cPixFile)
LOCAL nPos
nPos := FieldPos(cPixField)
// Import the picture file into indicated field
IF !BLOBImport(nPos, cPixFile)
Alert("Import of picture " + cPixFile + ";
failed!")
ENDIF |
Но есть одно но:
временный файл Вы создадите и в мемо-поле положите.
Но все DBF в WINREPORT преобразуются в XML для передачи в FastReport и вот будет ли это поле проходить - сомневаюсь очень сильно: попробуйте.
Если нет - Вы можете создать свой источник в форме с этим
файлом и работать по нему через SELECT
(Не передавать его в WinReport) |
|
Back to top |
|
|
Марина
Joined: 27 Aug 2002 Posts: 501 Location: Кондрина Марина Александровна Occupation: ОАО БКО программист Interests: Боровичи Новгородской обл
|
Posted: 24 Oct 2007 11:30 Post subject: |
|
|
B blob.ch вызов BlobImport транслируется в DBFilePut, но на DBFilePut БЭСТ ругается как на неизвестную функцию. hbextern.ch подключена. (SP37)
Что делать дальш |
|
Back to top |
|
|
Марина
Joined: 27 Aug 2002 Posts: 501 Location: Кондрина Марина Александровна Occupation: ОАО БКО программист Interests: Боровичи Новгородской обл
|
Posted: 25 Oct 2007 10:55 Post subject: |
|
|
Константин! Надежда еще есть? |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 25 Oct 2007 13:53 Post subject: |
|
|
Марина потерпите несколько дней пожалуйста.
Я напишу |
|
Back to top |
|
|
Марина
Joined: 27 Aug 2002 Posts: 501 Location: Кондрина Марина Александровна Occupation: ОАО БКО программист Interests: Боровичи Новгородской обл
|
Posted: 30 Oct 2007 16:52 Post subject: |
|
|
Для тех программистов, кто еще тупее, чем я. (если такие вообще есть)
Для вызова pdf стоит использовать RunShell
RunShell("X:\trcenter\kartinki\obraz1.pdf") |
|
Back to top |
|
|
Zwezda
Joined: 04 Oct 2007 Posts: 3 Location: Светлана Occupation: IT-специалист Interests: Владивосток
|
Posted: 09 Nov 2007 06:01 Post subject: |
|
|
Марина,
возникла похожая ситуация: необходимо выводить на печать сертификаты\лицензии на товары. Причем пользователь может выбрать что печатать, а что нет.
Я еще только начала реализовывать идею и задумка следующая: создать таблицу для хранения номеров лицензий с привязкой к номенклатурному номеру товара и группе. Файлы с изображениями хранить в отдельной папке, имя файла - это и будет номер лицензии+'.jpg' (либо другое расширение, еще не решила).
В бланке отчета для вывода изображения использую TrfPictureView (рисунок). Для отображения списка сертификатов TfrlSDBCheckListBox.
Тогда в обработчике события OnBeforePrint того бэнда, на котором лежит Picture пишем что-то вроде:
Code: | begin
if box.checked[i]=true then
begin
Pict1.loadfromfile('D:\pictures\'+[SHIFR]+'.jpg');
MasterData1.height:=1016;
end
else
begin
MasterData1.height:=0;
end;
i:=i+1;
end |
где SHIFR-номер лицензии.
Если Вы продвинулись далеко в этом вопросе, пожалуйста, поделитесь размышлениями. |
|
Back to top |
|
|
Марина
Joined: 27 Aug 2002 Posts: 501 Location: Кондрина Марина Александровна Occupation: ОАО БКО программист Interests: Боровичи Новгородской обл
|
Posted: 09 Nov 2007 09:51 Post subject: |
|
|
Да, это здорово. У меня пожалуй получилось немного сложно.
Я сейчас остановилась на pdf, т к к одной партии приходится привязывать до 8 страниц документов, а в jpg это муторно, прявязывать каждую страницу. А еще повлиял на это решение объем привязываемых документов, которые в нашем случае необходимо хранить на сервере.
С целью экономии к каждой партии я привязываю по две pdf - первая pdf привязывается ко всем товарам накладной, поступившей от поставщика (сертификат и т п), вторая индивидуальная для каждого товара (качественное удостоверение с датой розлива и т п)
Привязка выполняется в приходной накладной поставщика
Pdf-ки хранятся на сервере структирированно, т е есть отдельные папки для разных поставщиков, типов алкоголя (водки, вина, шампанские), ну и т п. Это позволяет найти нужный файл и минуя БЭСТ, хотя и непонятно, зачем пользователям это понадобилось
Перечень pdf-файлов с путями у меня находится в отдельной таблице, файл имеет 15-значный ID, с которым я и работаю
В процессе печати (который происходит в расходной накладной) пользователь у меня видит для каждого наименования, привязаны ли уже pdf-ки (их привязывает другой чел) или видит, что такого-то числа эти файлы уже печатались и отправлялись на эту точку, а некоторые еще не отправлялись. Ну то есть он может не печатать документы повторно. Pdf-ки вызываются и печатаются пользователем по отдельности каждая.
Периодически производится удаление ненужных pdf-файлов и очистка информации по ним
Остальные идеи касаются возможной путаницы с партиями идатами розлива в автоматизированных и неавтоматизированных магазинах, но у вас похоже другая задача |
|
Back to top |
|
|
Марина
Joined: 27 Aug 2002 Posts: 501 Location: Кондрина Марина Александровна Occupation: ОАО БКО программист Interests: Боровичи Новгородской обл
|
Posted: 15 Nov 2007 10:57 Post subject: |
|
|
Марина wrote: | B blob.ch вызов BlobImport транслируется в DBFilePut, но на DBFilePut БЭСТ ругается как на неизвестную функцию. hbextern.ch подключена. (SP37)
Что делать дальше? |
Все-таки хотелось бы получить разъяснения по этому поводу |
|
Back to top |
|
|
Марина
Joined: 27 Aug 2002 Posts: 501 Location: Кондрина Марина Александровна Occupation: ОАО БКО программист Interests: Боровичи Новгородской обл
|
Posted: 15 Nov 2007 11:02 Post subject: |
|
|
Вот сейчас потребовалась функция adir, пришлось подключить hbextern.ch и опять ничего не получается. Почему такое происходи |
|
Back to top |
|
|
|