2016-06-22 9 views
0

동일한 주제의 손상된 PDF 파일을 가지고 another question에서 가져온이 간단한 코드 조각이 있습니다.iTextSharp "pdf.pdf"로 손상된 PDF 생성

설명 된 솔루션을 other references과 함께 구현하려고했지만 아직 성공이 없습니다. 여기

내 예를 들어, PDF 생성하는 두 가지 기능은 다음과 같습니다 요청에 따라 다음

private void ShowPdf (byte[] str) 
{ 
    var Response = HttpContext.Current.Response; 

    Response.ClearContent(); 
    Response.ClearHeaders(); 
    Response.ContentType = "application/pdf"; 
    Response.AddHeader("Content-Disposition", "attachment; filename=" + DateTime.Now); 

    Response.BinaryWrite(str); 
    Response.End(); 
    Response.Flush(); 
    Response.Clear(); 
} 
private byte[] CreatePDF2() 
{ 
    Document doc = new Document(PageSize.LETTER, 50, 50, 50, 50); 

    using (MemoryStream output = new MemoryStream()) 
    { 
     PdfWriter wri = PdfWriter.GetInstance(doc, output); 
     doc.Open(); 

     Paragraph header = new Paragraph("Test bug") { Alignment = Element.ALIGN_CENTER }; 
     Paragraph paragraph = new Paragraph("test."); 
     Phrase phrase = new Phrase("testnewline. \nnewline hapenned."); 
     Chunk chunk = new Chunk("Chucnk cauncuanocnaacoocsinasiocniocsanacsoi chunk."); 

     doc.Add(header); 
     doc.Add(paragraph); 
     doc.Add(phrase); 
     doc.Add(chunk); 

     doc.Close(); 
     return output.ToArray(); 
    } 
} 

을, 난 그냥 같이 그것을 소비 :

ShowPdf(CreatePDF2()); 

문제는이 "라는 파일을 생성하는 것입니다 Response.pdf.pdf "이며 손상되어 열리지 않습니다.

이 문제를 어떻게 해결할 수 있습니까?

것을 제외 : 나는 현재 iTextSharp 4.1.6

+0

, 출력 변수에 대해이 작업을 시도하고 모두가 그렇게 예상대로 내가 '일 너의 문제가 다른 곳에 있는지 나는 꽤 확신한다. 메모장에서 PDF를 열어 보시고 파일의 시작 부분에있는'% PDF-1.4' 전에 또는 파일 끝에있는'%% EOF' 뒤에 텍스트 내용을보십시오. –

+0

안녕하세요. @ChrisHaas 우선, 도움에 감사드립니다. 생성 된 PDF에서이 텍스트를 찾을 수 없습니다. – Malavos

+0

@ChrisHaas 이런 종류의 문제가 내가 현재 사용하고있는 버전과 관련이 있다고 생각합니까? LGPL 라이센스에 4.1.6을 사용하고 있습니다. 버그 나 변경 사항이있을 수 있습니까? – Malavos

답변

1

을 사용하고 내가 모두 당신이 iText 코드뿐만 아니라 ASP.Net 코드를 실행

FileStream output = new FileStream(Server.MapPath("MyFirstPDF.pdf"), FileMode.Create); 
+0

나는 이것을 시도 할 것이고, 나는 여기서 hapenned 한 것을 언급 할 것이다. – Malavos

+0

itextsharp를 더 이상 사용하지 않아도이 솔루션이 나에게 도움이되지 않아 향후 사용자에게 도움이 될 수 있습니다. 감사. – Malavos

+1

당신은 환영합니다 Malavos. : D – SilentCoder