при добавлении изображения в ООН пустой PDF файл
в следующей ссылке есть код, который сканирует изображения и помещает их целиком в pdf-файл
http://www.access-programmers.co.uk/forums/showthread.php?t=246348[^]
и это прекрасно работает
но я хочу спросить, Можно ли добавить изображение в pdf-файл после того, как оно было сформировано из нескольких изображений
и я хочу, чтобы этот код был в доступе
Maciej Los
Используя VBA, VB6, VB.NET C# или что-то еще?
oula alsheikh
VBA
Maciej Los
Хорошо, поставьте код сверху ссылки, потому что только зарегистрированные пользователи могут получить доступ к этому коду.
oula alsheikh
извините вы правы вот код
[КОД]
Публичные Суб Скандалы()
Const wiaFormatJPEG = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}"
Dim strFileName как строка
Dim Dialog1 как новый WIA.Общего диалогового окна, т / д, как целое, ПП как целое число, а целое число
Тусклый сканер как WIA.Устройство
Тусклый img Как WIA.ImageFile
Dim intPages как целое число
Dim strFileJPG как строка
Dim i как целое число
Дим blnContScan как логическое
Дим ContScan как строку 'MsgBox, чтобы ЧК при сканировании более страниц
Dim PdfOverwrite As String 'msgbox для подтверждения перезаписи pdf-файла
Dim FSO как новый файловый объект
Dim strFilePDF как строка
Dim RptName В Виде Строки
Dim strProcName как строка
strProcName = "ScanDocs"
На Ошибка Goto Handle_Err
- освободите скудный стол.
Метод docmd.SetWarnings False
DoCmd.RunSQL "удалить из scantemp"
Метод docmd.SetWarnings True
strFileName = strDocType
"создайте временную папку, если она не существует
CreateTempFolder
"если временная папка присутствует, удалите из нее все файлы
DeleteFiles
- Код для сканирования
'Должен содержать ссылку на библиотеку DLL Microsoft Windows Image Acquisition 2.0
blnContScan = True
intPages = 0
Делать, пока blnContScan = истина
DPI = 200
PP = 1 'нет страниц
Установите Scanner = Dialog1.ShowSelectDevice(WIA.WiaDeviceType.Scanner DeviceType, False, False)
со сканерами.Пункты(1)
.Properties("6146").Value = 1 'Color intent (1 для цвета, 2 для оттенков серого, 4 для b & w)
.Properties("6147").Value = DPI 'DPI горизонтальный
.Свойства("6148").Значение = Дои 'точек на дюйм по вертикали
.Properties("6149").Value = 0 'x точка для запуска сканирования
.Свойства("6150").Ординату значение = 0', чтобы начать сканирование
.Properties("6151").Value = 8.27 * DPI 'горизонтальный экстент
.Properties("6152").Value = 11.69 * DPI 'вертикальный экстент для буквы
Конец С
Установите img = Dialog1.ShowTransfer(Сканер.Items(1), wiaFormatJPEG, True)
- Установите img = сканер.Пункты (1).Трансфер(ЗПР.FormatID.wiaFormatJP например)
intPages = intPages + 1
strFileJPG = strTempFolder &ампер; "\" &амп; strFileName &ампер; отделка(ул.(intPages)) &ампер; ".в формате JPG"
- Если ФСО.FileExists(strFileJPG) Затем
' АОЛС.DeleteFile (strFileJPG)
- Конец, Если
'Set FSO = ничего
рис.Файл сохранения (strFileJPG)
Метод docmd.SetWarnings False
Метод docmd.RunSQL "вставить в scantemp (рисунок) значения ('" &амп; strFileJPG &ампер; "')"
Метод docmd.SetWarnings True
Установить Сканер = Ничего
Set img = ничего
strFileJPG = ""
"Подскажите пользователю, есть ли дополнительные страницы для сканирования
ContScan = MsgBox("сканировать другую страницу?", vbQuestion + vbYesNo, "продолжить...?")
Если ContScan = vbNo, то
blnContScan = False
Конец, Если
Петля
Перейти StartPDFConversion
StartPDFConversion:
strFilePDF = strTempFolder &ампер; "\" &амп; strFileName &ампер; ".формат PDF"
Если ФСО.Тогда FileExists(strFilePDF)
FSO.DeleteFile (strFilePDF)
Конец, Если
Установить FSO = ничего
- Теперь давайте запустим отчет о доступе под названием rptScan и выведем его в PDF-файл в сети
"rptScan-это отчет доступа, источником записей которого является таблица scantemp
RptName = "rptScan"
DoCmd.OpenReport RptName, acViewReport, , , acHidden
Метод docmd.Закрыть acReport, RptName, acSaveYes
Метод docmd.OutputTo acOutputReport, RptName, acFormatPDF, strFilePDF
CustDocPath = strFilePDF
strFilePDF = ""
Handle_Exit:
Выход Из Субмарины
Handle_Err:
Выберите случай ошибки.описание
Дело "пользователь запросил сканирование, и в податчике документов не осталось никаких документов."
MsgBox "пожалуйста, вставьте бумагу в сканер", vbCritical, "предупреждение"
Возобновиться
Дело "ID не найден."
MsgBox "пожалуйста, убедитесь, что ваш сканер правильно подключен и включен, а затем повторите попытку позже", vbCritical, "предупреждение"
Возобновить Handle_Exit
Case "такой интерфейс не поддерживается."
MsgBox "пожалуйста, убедитесь, что ваш сканер правильно подключен и включен, а затем повторите попытку позже", vbCritical, "предупреждение"
Возобновить Handle_Exit
Дело "пользователь отменен."
MsgBox "сканирование отменено пользователем.", vbCritical, "предупреждение"
Возобновить Handle_Exit
Случай "удаленный вызов процедуры не удался.."
MsgBox "RPC не удалось. Пожалуйста, проверьте настройки сканера в windows.", vbCritical, "предупреждение"
Возобновить Handle_Exit
Дело Другое
MsgBox "Ой! Что-то пошло не так".vbCrLf &усилитель &ампер;; vbCrLf &амп; _
"In Function:" & vbTab & strProcName & vbCrLf & _
"Номер ошибка:" &амп; vbTab &амп; ошибиться.Количество &амп; vbCrLf &амп; _
"Описание:" & vbTab & err.описание, vbCritical, _
"Ошибка в" & Chr$(34)
Maciej Los
Удалите этот комментарий и удатите свой вопрос с помощью Улучшить вопрос[^] виджет
oula alsheikh
а вот ссылка на последний код http://www.access-programmers.co.uk/forums/showthread.php?t=246348