2013-04-15 4 views
5

Я потратил целый день искал ответ на мой вопрос и не нашел :(AcroPDFLib открыть PDF файл из потока в WindowsForms C# .NET

Я делаю приложение Windows Forms и один из его функции - показывать файлы, хранящиеся в БД. Эти файлы при загрузке могут быть помечены как «только для чтения», то есть они не могут быть загружены. На данный момент я борюсь с файлами PDF. AcroPDFLib и я не могу найти способ отобразить файл из массива байтов, хранящегося в БД.

Итак, мой вопрос: есть ли способ открыть PDF-файл из потока? Даже если этоплагин, какой плагин это и где я могу его найти?

Использование объекта веб-браузера, я не думаю, что это сработает, так как мне нужно будет создать что-то серверное, которое отправляет ответ, выводят поток. И создать файл во временной папке ... ну, в таком случае я мог бы также позволить загрузку файла: D

Спасибо за вашу помощь

+0

Вы сохранили файл PDF в качестве байтов правильно ...? – Pandian

+0

Да. А в БД есть Варбина. –

+0

Недавно я боролся с той же проблемой в нашем приложении WinForms. Я не мог найти способ использовать AcroPDFLib, чтобы сначала решить проблему записи на диск, а затем либо с помощью элемента управления WebBrowser, чтобы отобразить файл, либо просто сделать «Process.Start». Я закончил писать только на диск, но потом меня не беспокоило, что кто-то сохранил файл либо ... –

ответ

4

Для того, чтобы сделать то, что вы хотите, вы должны открыть файл из потока памяти, однако из Interapplication Communication API reference from Adobe мы получаем, что существует только один метод Open (...):

Синтаксис:
VARIANT_BOOL Open (BSTR szFullPath, BSTR szTempTitle);

Параметры:

szFullPath
Полный путь к файлу, чтобы открыть.

szTempTitle
Дополнительное название для окна, в котором находится файл . Если szTempTitle имеет значение NULL или пустую строку, он игнорируется. В противном случае в качестве названия окна используется szTempTitle.

Так что я бы догадаться, что вы пытаетесь сделать, не может быть сделано с библиотекой Adobe.

+0

Спасибо за ваш ответ. Это было то, чего я боялся ... –

+0

+1 для копания API и в значительной степени ответить на возможный вопрос :) –

Смежные вопросы