Работа с pdf

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Лексей
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 121
Зарегистрирован: 03.08.2004 (Вт) 6:50
Откуда: Екатеринбург

Работа с pdf

Сообщение Лексей » 29.10.2004 (Пт) 13:29

Люди добрые подскажите плиз!!!
Как открыть запароленный pdf файл так, чтоб пользователь не видел запрос пароля на открытие документа (программно передается) - пароль известен.
заранее чрезмерно благодарен!!!

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 29.10.2004 (Пт) 13:44

ну, через контрол какой нить, или ключиком к акробату
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 29.10.2004 (Пт) 15:13

Я видел похожие приложения, которые это делали. Особо не копался, но похоже,что перехватывается создание окна и автоматически забивается пароль - иногда окошно запроса пороля успевало отрисоваться, поэтому я так считаю.
Но, на мой взгляд, не лучший ход. Надо разобраться, можно ли обойтись без этого. Если Вы не хотите, чтобы кто-то читал PDF файлы без программы, то не лучше ли их "зашить" в зашифрованном виде в некий архив, расшифровывать который будет программа?

Если боитесь, что пользователи начнут копировать файлы, то... Пишите свой Акробат Ридер :)
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 29.10.2004 (Пт) 16:13

Ну нет компонентов навалом....
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 29.10.2004 (Пт) 16:30

Тропою Дмитрия Склярова... :)
Lasciate ogni speranza, voi ch'entrate.

Лексей
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 121
Зарегистрирован: 03.08.2004 (Вт) 6:50
Откуда: Екатеринбург

Сообщение Лексей » 01.11.2004 (Пн) 10:59

Использую:

Код: Выделить всё
Private Declare Sub Sleep Lib "Kernel32" (ByVal dwMS As Long)
           
      Dim application As String, file As String, workgroup As String
      Dim user As String, password As String, cTries As Integer
      Dim x
     
      application = "путь к приложению - Акробату"
       file = "Путь к файлу"
       password = "пароль" 

      x = Shell(application & " " & Chr(34) & file & Chr(34) & " /nostartup " & _
      " /pwd " & password & Chr(34), vbMaximizedFocus)

End Sub


Данный код (при ссылке на файл рабочей группы) отлично запускает Access и открывет бд с указанным именем пользователя и паролем.
Но вот pdfы ни как не хочет (запускает акробат, начинает открывать файл, но пароль у пользователя запршивает). Может в shell чего не хватает?

А на счет архива (цель именно такая - чтоб никто не мог вне приложения просмотреть файлы)! Действительно ли это надежно, ведь в нете туча ломалок. Да и если этих pdf-ок от 100 до 30 000 (время то на распаковывание уйдет масса). Подскажите, плиз!!! [/code]

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 01.11.2004 (Пн) 11:29

На pdf действительно куча ломалок.

А вот компонента открывающего pdf-ки с password-ом (на который куча ломалок) я не нашел... По крайней мере free или доступного.

Так что, на мой взгляд защищенная mdb-ка будет надежней.

Ну еще как вариант можно - хранить mht-файлы в запароленных архивах... Или менять расширение и заголовок файла на билиберду восстанавливая его только на момент чтения - даже это может неплохо сработать...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Лексей
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 121
Зарегистрирован: 03.08.2004 (Вт) 6:50
Откуда: Екатеринбург

Сообщение Лексей » 01.11.2004 (Пн) 11:45

Может глупый вопрос - что за mht фалы?

И как будет вести себя приложение (в плане быстродействия и необходимости свободного места на харде) если я все pdf файлы с которыми работает приложение (около 20 000) помещу в запароленный архив (который как мне кажется сломать нефиг нафиг) и буду из него дергать нужный в данный момент времени файл, распаковывая каждый раз архив? Правильно мыслю?

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 01.11.2004 (Пн) 12:54

Может глупый вопрос - что за mht фалы?


Так называемый Веб-архив - см. диалог IE "Сохранить как". Но пароля на него не поставишь - только менять заголовок...

И как будет вести себя приложение (в плане быстродействия и необходимости свободного места на харде) если я все pdf файлы с которыми работает приложение (около 20 000) помещу в запароленный архив (который как мне кажется сломать нефиг нафиг)


Ну попробуй ради интереса сломать RAR-архив с паролем хотябы в 10 знаков...

и буду из него дергать нужный в данный момент времени файл, распаковывая каждый раз архив? Правильно мыслю?


Архив должен быть не Solid - тогда все будет быстро.

А вообще я как-то хранил заархивированные файлы в MDB-шке...
...
Только надо сразу прибивать файл после открытия его в WebBrowser-e...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Лексей
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 121
Зарегистрирован: 03.08.2004 (Вт) 6:50
Откуда: Екатеринбург

Сообщение Лексей » 01.11.2004 (Пн) 13:28

Ok, уже убежден!!!
Можно пристану еще с распросами?

Как из VB достать из архива нужный файл?

На счет хранения pdf-ок в БД - не будет ли тяжеловато для mdb.

Только надо сразу прибивать файл после открытия его в WebBrowser-e...


В смысле?

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 01.11.2004 (Пн) 13:42

Как из VB достать из архива нужный файл?


CreateProcess и UnRar или UnZip - я так достаю. Вроде есть UnRar.ocx, но лично не пробовал.

На счет хранения pdf-ок в БД - не будет ли тяжеловато для mdb.


Я когда файлы в MDB-шке хранил, то все одно их архивировал ибо много их было, да и самых разных типов...

Цитата:

Только надо сразу прибивать файл после открытия его в WebBrowser-e...

В смысле?


Ну чтобы его найти/просмотреть не могли. Контекстное меню надо прикрывать, чтобы не скопировали.

Но все равно это все только от чайников - ибо скопировать при желании все равно можно, если на экран выводится...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Лексей
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 121
Зарегистрирован: 03.08.2004 (Вт) 6:50
Откуда: Екатеринбург

Сообщение Лексей » 01.11.2004 (Пн) 14:00

СПАСИБИЩЕ ОГРОМНОЕ ЗА ПОМОЩЬ !!! РЕАЛЬНО!
И еще, если архивы отдельных файлов хранятся в бд, то как их оттуда распаковывать?

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 01.11.2004 (Пн) 14:08

И еще, если архивы отдельных файлов хранятся в бд, то как их оттуда распаковывать?


Вытаскиваешь пользуя метод GetChunk как отдельный, временный файл и распаковываешь как обычно.

P.S
Не надо пытаться задавать слишком большой Size для GetChunk - 32 kB вполне достаточно, иначе на больших файлах будут тормоза...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Лексей
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 121
Зарегистрирован: 03.08.2004 (Вт) 6:50
Откуда: Екатеринбург

Сообщение Лексей » 01.11.2004 (Пн) 14:14

Допустим я решил общее количество файлов разбить на несколько архивов (вроде по тематике) и хранить их на диске (не в бд). Нужно мне достать 1 файл, для этого мне нужно целиком распаковывать необходимый архив на хард а затем из этой папки откерывать нужный файл? Или я ошибаюсь?

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 01.11.2004 (Пн) 14:17

для этого мне нужно целиком распаковывать необходимый архив на хард а затем из этой папки откерывать нужный файл? Или я ошибаюсь?


Только нужный файл - зачем весь архив-то?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Лексей
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 121
Зарегистрирован: 03.08.2004 (Вт) 6:50
Откуда: Екатеринбург

Сообщение Лексей » 01.11.2004 (Пн) 14:20

Догадываюсь, что уже достал с идиотическими вопросами, но пожалуйста помогите!
Как достать то 1 файл не распаковывая всего архива (серьезно не знаю)?

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 01.11.2004 (Пн) 14:28

Как достать то 1 файл не распаковывая всего архива (серьезно не знаю)?

UnRar MyArchive.rar MyFile.xxx
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Лексей
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 121
Зарегистрирован: 03.08.2004 (Вт) 6:50
Откуда: Екатеринбург

Сообщение Лексей » 01.11.2004 (Пн) 14:36

ВСе СПАСИБИЩЕ ОГРОМНИЩЕ!!!
Приношу за возможный моральный ущерб нанесенный моими распросами.
Большое человеческое спасибо за помощь!!!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: PetalBot, Yandex-бот и гости: 12

    TopList