2009-10-11 40 views
8

Tôi đang cố gắng nhúng JavaScript vào pdf được tạo bằng iTextSharp và nó hoạt động hoàn toàn tốt nếu đó là tệp như được hiển thị trong mã.Sự cố khi thêm javascript vào PDF bằng iTextSharp

Nhưng khi tôi cố gắng nhúng phần javascript vào luồng bộ nhớ, nó không hoạt động. Có bất kỳ hạn chế nào của iTextSharp không ??

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

Nếu tất cả những gì bạn đang làm là thay thế luồng tệp bằng MemoryStream, thì nó sẽ giống hệt về mặt chức năng. Bạn vẫn phải đặt luồng bộ nhớ đó ở đâu đó bạn có thể xem nó (như một tệp) để xem JS và các hiệu ứng của nó. Làm thế nào để bạn mở memoryStream? –

+0

@rowmark, đối số mà bạn đã chuyển cho 'Đoạn mới (pdfString) 'là gì. –

Trả lời

Các vấn đề liên quan