2013-03-08 4 views
0

Фон - сайт ASP .Net с аутентификацией пользователя. Страница является регулярным HTML с gridview, панелями, текстовыми полями, ярлыками, таблицами и т. Д.HTML to PDF issue

Я пытаюсь получить текущую веб-страницу, которую пользователь просматривает в PDF, используя бесплатную DLL iText.

У меня есть следующий код, который я думал бы сделал трюк:

Dim myRequest As HttpWebRequest = HttpWebRequest.Create(Request.Url) 

myRequest.Credentials = New NetworkCredential("administrator", "password") 
myRequest.Method = "GET" 

Dim myResponse As WebResponse = myRequest.GetResponse 
Dim sr As New StreamReader(myResponse.GetResponseStream, System.Text.Encoding.UTF8) 
Dim result As String = sr.ReadToEnd 
sr.Close() 

myResponse.Close() 
HTMLToPDF(result) ' "This line sends the HTML to be converted into a PDF" 

К сожалению, это показывает страницу входа в систему с текстом (текст // если (TypeOf (Sys) === ' undefined ') throw new Error (' ASP.NET Ajax на стороне клиента не удалось выполнить load. '); // .style1 {width: 100%;} .style2 {width: 334px;} .style3 {width: 303px ;})

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

Может ли кто-нибудь предложить способ решить этот или другие обходные пути?

+0

Чтение * Ajax * в этом тексте заставляет меня предположить, что страница по существу сгенерирована на стороне клиента с использованием JavaScript. С другой стороны, ваш вызов 'HTMLToPDF', похоже, ожидает готового встроенного HTML-кода, а не только некоторого JavaScript. – mkl

+0

Хорошо - эта ошибка ушла, но я все еще не могу пройти мимо бит аутентификации? – Computer

ответ

0

ОК для тех, кто хотел бы знать ..... Я отказал всем пользователям, установленным в моем файле конфигурации, который вызывал проблему. Настройка, позволяющая администраторам разрешить это.