やあこれは私のC#のコードです:は、C#でPDF文書のロードに失敗しました
Byte[] bytes;
int orderID = Convert.ToInt32(e.CommandArgument);
var templateData = ordersBL.GetTemplateDetails(orderID);
using (MemoryStream ms = new MemoryStream())
{
using (Document document = new Document(PageSize.A4, 10, 10, 10, 10))
{
PdfWriter writer = PdfWriter.GetInstance(document, ms);
foreach (var temp in templateData.ToList())
{
string message = temp.Message;
string tempimage = Convert.ToBase64String(temp.logo);
string base64 = tempimage;
byte[] imageBytes = Convert.FromBase64String(base64);
iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(imageBytes);
if (image.Height > image.Width)
{
float percentage = 0.0f;
percentage = 700/image.Height;
image.ScalePercent(percentage * 100);
}
else
{
float percentage = 0.0f;
percentage = 140/image.Width;
image.ScalePercent(percentage * 100);
}
if (!document.IsOpen())
{
document.Open();
}
document.Add(image);
using (var htmlWorker = new HTMLWorker(document))
{
using (var sr = new StringReader(message))
{
htmlWorker.Parse(sr);
}
}
Paragraph paragraph = new Paragraph();
paragraph.SpacingBefore = 10;
paragraph.SpacingAfter = 10;
paragraph.Alignment = Element.ALIGN_LEFT;
// paragraph.Font = FontFactory.GetFont(FontFactory.HELVETICA, 12f, BaseColor.GREEN);
document.Add(paragraph);
document.NewPage();
}
bytes = ms.ToArray();
document.Close();
}
}
Response.ContentType = "application/pdf";
string pdfName = "User";
Response.AddHeader("Content-Disposition", "attachment; filename=" + pdfName + ".pdf");
Response.Buffer = true;
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
Response.BinaryWrite(bytes);
Response.End();
Response.Close();
Response.Flush();
}
PDFがダウンロードされますが、それは、PDFドキュメントのロードに失敗しましたと表示されます。
は、C#
でPDF文書のロードに失敗しました私はどこ私は、コードに誤りが見つかりませんでした。
正しいコードを教えてください。
ありがとうございます。
をお使いの '' End' Close' 'Flush'コードはそのように動作しません。お読みください:https://blogs.msdn.microsoft.com/aspnetue/2010/05/25/response-end-response-close-and-how-customer-feedback-helps-us-improve-msdn-documentation/ と http://stackoverflow.com/questions/2816194/use-of-response-flush-before-response-end – Alexander