Я могу успешно создать/сгенерировать PDF-файл без каких-либо проблем. Но когда я пытаюсь загрузить его после того, как поколение, выполнение перенаправляется,Создание и загрузка (HTML в) PDF с использованием проблемы iTextSharp
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
}
На события нажатия кнопки, я создать файл PDF, который работает, как ожидалось, как показано ниже.
using System.Data;
using iTextSharp.text;
using iTextSharp.text.html.simpleparser;
using iTextSharp.text.pdf;
using System.Net;
protected void Button2_Click(object sender, EventArgs e)
{
try
{
string htmlContent = "<div> PDF Code </div>"; // you html code (for example table from your page)
Document document = new Document();
string FileName = Guid.NewGuid().ToString();
PdfWriter.GetInstance(document, new FileStream("C:\\...\\...\\PDF\\" + FileName + ".pdf", FileMode.Create));
document.Open();
HTMLWorker worker = new HTMLWorker(document);
worker.Parse(new StringReader(htmlContent));
document.Close();
//To download same PDF I write below code
Response.Clear();
string pdfPath = Server.MapPath(@"~\PDF\" + FileName + ".pdf");
WebClient client = new WebClient();
Byte[] buffer = client.DownloadData(pdfPath);
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", buffer.Length.ToString());
Response.BinaryWrite(buffer);
Response.Flush();
HttpContext.Current.ApplicationInstance.CompleteRequest();
////Response.End();
}
catch (Exception ex)
{
Response.Write(ex.Message.ToString());
}
}
Этот код не является никаким исключением, а перенаправляется на вышеупомянутый метод. Пожалуйста помоги.
Что я хочу - это событие щелчка кнопки, я хочу сгенерировать PDF и загрузить его. Пробовал так много всего, но не добился успеха.
клика Попробованных ваше предложения. Но тогда он не загружает PDF-файл. Не знаю, почему. – nyks
Вы использовали 'Response.End()' вместо 'CompleteRequest()'? –
Да пробовал. Послушай, я отправил свой ответ. теперь он создает PDF-файл, но все же он напрямую открывает его браузеру. Я хочу просто загрузить его, чтобы пользователь сам открыл файл. Так или иначе? – nyks