2009-10-11 2 views
8

iTextSharp를 사용하여 만든 pdf에 JavaScript를 포함하려고 시도하고 있으며 코드에 표시된 파일 인 경우 문제없이 작동합니다.iTextSharp를 사용하여 PDF에 javascript를 추가 할 때 문제가 발생했습니다.

하지만 자바 스크립트 부분을 메모리 스트림에 삽입하려고하면 작동하지 않습니다. iTextSharp의 제한 사항이 있습니까 ?? 귀하의 PDF 아직 렌더링되지 않습니다

Dim js As New StringBuilder 
       Dim pdf As String = "c:\Print2Printer.pdf" 
       Dim writer As PdfWriter = PdfWriter.GetInstance(doc, New FileStream(pdf, FileMode.Create)) 
       doc.Open() 

       js.Append("var pp = this.getPrintParams();") 
       js.Append("var iCopies = 2;") 
       js.Append("pp.interactive = pp.constants.interactionLevel.silent;") 
       js.Append("for (var i = 0; i < 3; i++) { pp.firstPage = i; pp.lastPage = i;") 
       js.Append("this.print(pp);") 
       js.Append("}") 
       Dim jaction As PdfAction = PdfAction.JavaScript(js.ToString(), writer) 
       writer.AddJavaScript(jaction) 

       doc.Add(New Paragraph(pdfString)) 
       doc.Close() 
+1

FileStream을 MemoryStream으로 대체하는 경우 기능적으로 동일해야합니다. JS와 그 효과를보기 위해 여전히 파일처럼 보일 수있는 메모리 스트림을 어딘가에 두어야합니다. 어떻게 memoryStream을 여는거야? –

+0

@rowmark, 당신은'New Paragraph (pdfString)'에 대해 당신이 전달한 인수는 무엇입니까? –

답변