2016-05-16 4 views
-2

Как преобразовать строку base64 для просмотра в приложении vb.net? Я нашел несколько способов преобразования строки base64 для создания PDF-файла, но, похоже, проблема с элементом управления AxAcroPDFLib.Преобразование BASE64 в PDF Viewer

Приведенный ниже код загрузит test.pdf, только если я создаю новый автономный проект. Когда я пытаюсь загрузить test.pdf в моем текущем живом проекте, AxAcroPDFlib (PDF Viewer) ничего не загрузит. Похоже, он не может найти файл для загрузки. Однако все одинаково в двух проектах. Почти похоже, что dll коррумпирован каким-то образом.

Dim str As String = base64Code 
    Dim Base64Byte() As Byte = Convert.FromBase64String(str) 
    Dim obj As FileStream = File.Create("C:\users\steve\desktop\test.pdf") 
    obj.Write(Base64Byte, 0, Base64Byte.Length) 
    pdfPremViewer.LoadFile("C:\users\steve\desktop\test.pdf") 
    obj.Flush() 
    obj.Close() 

Просто для проверки загрузки файла образец в зрителя, я попытался код ниже и до сих пор даже не загружать стандартный файл PDF ... Похоже, проблема связана с самим зрителем. (как упоминалось выше, отлично работает на автономном новом проекте).

pdfPremViewer.src = "C:\users\steve\desktop\test.pdf" 
    pdfPremViewer.LoadFile("C:\users\steve\desktop\test.pdf") 

Я открыт для использования другого метода, кроме AxAcroPDFlib.

+0

Вы даже искали этот ответ, прежде чем публиковать его здесь? –

+0

@roryap Да, у меня есть – Steve

+0

Вы еще читали [спросить]? Как насчет [mcve]? –

ответ

0

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

 Dim adobeReaderPath As String = "C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe" 
     System.Diagnostics.Process.Start(adobeReaderPath, Base64ToPDF(getBase64Data(_sql)))